首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在与第三方API通信时,我应该多久请求一次令牌?

在与第三方API通信时,我应该多久请求一次令牌?
EN

Software Engineering用户
提问于 2021-12-26 12:43:27
回答 1查看 197关注 0票数 -2

我有一个ASP.net网络API。我想调用另一个在我的API中具有身份验证令牌的API。

代码流如下:

我的API名为→,从第三方API获得身份验证令牌,→从第三方API调用所需的方法。

我无法确定的是,如果我的API被调用了100次,我将在第三方API中对GetToken()方法进行100个调用,对所需的方法进行另外100个调用,这似乎是一种开销和时间浪费。我是否应该实现一个逻辑,以检查令牌是否仍然可用?

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2021-12-26 13:24:57

第三方API可以使用众所周知的机制(如OAuth 2 )进行身份验证.在OAuth 2中,令牌只生成一次,并用于多个请求,直到到期为止。过期策略取决于服务的实际配置以及与其交互的方式(因为滑动过期和绝对过期)。

在这种情况下,你会使你的工作变得比你所需要的更复杂。与其自己实现对令牌的处理,不如获取一个现有的OAuth 2库(或API所使用的其他任何东西)。库将隐藏底层复杂性,包括令牌的生成及其更新:您必须给它客户机ID和密码,它将处理剩余的部分。理解引擎盖下正在发生的事情是有用的(主要是因为一个可能漏泄的抽象,以及你自己的好奇心),但在一开始并不是绝对必要的。

相反,如果API使用的是本地机制:

  • 联系公司,询问他们是否计划采用更标准的方法。通常,本土的机制是不安全的,设计糟糕,维护不善。从另一家公司转到API可能是您需要考虑的另一种选择。
  • 如果没有向任何标准迁移的计划,并且您不能选择另一个API提供者,请询问公司是否至少可以为您选择的语言提供一个客户机库。他们经常这样做,这给你节省了很多工作。
  • 如果他们不能提供任何客户端库,请查阅他们的文档。它应该指定每隔多长时间可以请求一个新令牌。有时,每次请求都请求一个令牌将违反策略,如果这样做,您最终将被禁止。

如果没有文档,那么您应该转到另一个API提供程序。使用无文档的API,不提供支持,以及本地身份验证显然是错误的。

票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/435567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档