首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于B2B企业REST,请求oAuth2中的访问令牌是否应该使以前授予的访问令牌无效?

对于B2B企业REST,请求oAuth2中的访问令牌是否应该使以前授予的访问令牌无效?
EN

Stack Overflow用户
提问于 2014-06-19 21:17:16
回答 2查看 2.7K关注 0票数 2

对于可能使用客户端ID/ B2B的多个应用程序的企业客户端,REST服务:

如果您为特定的客户端ID和客户端秘密发送了一个oAuth2访问令牌的请求,并接收了一个访问令牌,那么稍后会发送另一个具有相同客户端ID/秘密的令牌请求,这是否会使之前的访问令牌失效?

换句话说,在这种情况下,客户ID/秘密应该能够请求和使用多个有效的访问令牌吗?是否有不同的情况需要实施?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-20 13:14:11

OAuth2通常是指用户将访问委托给客户端,因此在客户机有许多用户的情况下(通常情况下),它将非常肯定地使用多个访问令牌,因为它们将应用于不同的用户。

考虑一下将Google帐户授予另一个在线应用程序(客户端)访问权限的情况。谷歌发布一个访问令牌,允许客户端读取您的联系人,例如,使用谷歌的OAuth2 API(事先批准)。显然,它只能使用这个令牌访问您的联系人,而不能访问其他人的。Google可能会向同一个客户端发出许多不同的访问令牌,但每个令牌都可能对应于不同的用户和/或资源。

同一授权服务器可能为许多不同的资源发出令牌,因此即使在没有与用户交互的情况下(如“客户凭据”授予),客户端仍可能需要管理多个令牌。

当为同一用户、受众、范围等请求另一个令牌时,授权服务器是否使令牌无效,将取决于实现。客户端通常不需要这样做,通常会在现有令牌即将过期时使用刷新令牌来获取新令牌。我想说的是,通常更重要的是,用户可以使他们授权的现有令牌失效,并且对于特定的客户端,令牌可以失效。当然,这也要求资源服务器在授予访问之前有某种方式检查令牌撤销。

票数 3
EN

Stack Overflow用户

发布于 2014-06-20 09:19:00

是的,一个客户端可以有多个访问令牌。这很有意义,我们实际上是在用。

请考虑令牌可能有不同的作用域,因此客户端可能有一个范围为"res1“的令牌用于资源,而另一个令牌的作用域为"res2”,用于不同的资源。

另一个用例可能是请求具有多个作用域的刷新令牌,例如“读写”,并使用它获得一个“读”作用域访问令牌来初始化管理GUI,然后为每个写事务获得一个新的访问令牌。

您可以争论它是否是好的设计/实现,但是它在技术上是可能的,并且不是标准所禁止的。

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

https://stackoverflow.com/questions/24316376

复制
相关文章

相似问题

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