我有一个ASP.net网络API。我想调用另一个在我的API中具有身份验证令牌的API。
代码流如下:
我的API名为→,从第三方API获得身份验证令牌,→从第三方API调用所需的方法。
我无法确定的是,如果我的API被调用了100次,我将在第三方API中对GetToken()方法进行100个调用,对所需的方法进行另外100个调用,这似乎是一种开销和时间浪费。我是否应该实现一个逻辑,以检查令牌是否仍然可用?
发布于 2021-12-26 13:24:57
第三方API可以使用众所周知的机制(如OAuth 2 )进行身份验证.在OAuth 2中,令牌只生成一次,并用于多个请求,直到到期为止。过期策略取决于服务的实际配置以及与其交互的方式(因为滑动过期和绝对过期)。
在这种情况下,你会使你的工作变得比你所需要的更复杂。与其自己实现对令牌的处理,不如获取一个现有的OAuth 2库(或API所使用的其他任何东西)。库将隐藏底层复杂性,包括令牌的生成及其更新:您必须给它客户机ID和密码,它将处理剩余的部分。理解引擎盖下正在发生的事情是有用的(主要是因为一个可能漏泄的抽象,以及你自己的好奇心),但在一开始并不是绝对必要的。
相反,如果API使用的是本地机制:
如果没有文档,那么您应该转到另一个API提供程序。使用无文档的API,不提供支持,以及本地身份验证显然是错误的。
https://softwareengineering.stackexchange.com/questions/435567
复制相似问题