在 Refit 执行流程中检索访问令牌

Retrieving access token as a part of the Refit execution flow

提问人:dr11 提问时间:8/29/2023 更新时间:8/29/2023 访问量:66

问:

我有类似于此的 API:

GET /api/token?key={key}

GET /api/data?key={token}
GET /api/data2?key={token}

在使用任何其他调用之前,我必须查询第一个请求并通过固定键获取令牌。然后使用事物令牌,我可以进行任何其他查询。

当然,我可以按原样定义客户端,并且在我的更高级别的逻辑中,我可以查询令牌,保存它,然后作为参数传递,但我想知道是否可以透明地添加,如果需要,可能会使用 Polly。

我可以创建一个单独的 Refit 客户端,该客户端只能检索令牌,然后将其作为处理程序注入主客户端。因此,每当我进行任何调用时,如果我没有令牌,处理程序都会检索令牌并传递它。

我想知道是否有更标准的方法可以做到这一点

c# 波莉 改装

评论

1赞 Peter Csala 8/29/2023
它可以通过 a 和一些辅助类来实现。在这里,我展示了 3 种不同的方法,如何通过刷新功能实现它: stackoverflow.com/questions/59833373DelegatingHandler

答: 暂无答案