OAuth 2.0生命周期"代码"在授权代码Grant中

时间:2016-07-26 07:51:59

标签: authentication oauth-2.0 spring-security-oauth2 rest-security kong

授权代码授权:我知道代码是为真正的长期访问令牌交换的短期令牌。我已经浏览了Oauth 2.0但是找不到这些信息,所以在这里问:

  • 代码的生命周期是什么?
  • 仅供一次性使用吗?
  • 可以交换代码多少次以获取访问令牌?
  • 为该代码提供访问令牌后,代码会发生什么变化?

我正在使用oAuth 2.0 plugin on Kong API gateway。它保持代码在特定时间内保持活动状态,并且到那时可以使用相同的代码生成多个访问令牌。 这是预期的行为吗?

感谢您的任何建议。

2 个答案:

答案 0 :(得分:1)

代码是短暂的一次性访问令牌。 一旦它被交换为访问令牌,它应被标记为无效 对于Kong问题,最好问问here

答案 1 :(得分:1)

授权码必须是短暂的,应该一次性使用以避免虚假使用。所以回答你的问题

代码的生命周期是什么?

  • 当用户使用 authorication_code 流进行身份验证时,对范围进行一次身份验证并授予访问权限后,将创建一个短期(例如1分钟)有效代码并将其发送回重定向URI。

仅供一次性使用吗?

  • 是的,它必须是一次性使用才能获得最佳安全性,当使用authorication_code请求访问令牌时,请求成功或失败(由于某些验证错误或服务器错误),必须删除授权代码或将其标记为使用(取决于你想如何使用它)

可以交换多少次代码来获取访问令牌?

  • 一个authorization_code只能授予一个访问令牌,因为一旦发出访问令牌,代码将被撤销。

为该代码提供访问令牌后代码会发生什么?

最佳做法,代码可以删除

查看google oauth2.0文档,以便更好地了解并了解其使用方式。

https://developers.google.com/identity/protocols/OAuth2WebServer

对于Kong问题来说,这似乎是kong中的一个错误,他们承诺在0.9版本中给予修复。 请检查此discussion