在oauth2的设计中是否复制了授权码和刷新令牌的功能?

use*_*472 3 oauth oauth-2.0

有两种获取访问令牌的方法.

  1. 使用授权码来交换它
  2. 使用刷新令牌来刷新它

想一想!!

虽然交换和刷新的意思不同,但他们所做的是相同的.

这两个动作都需要解析客户端ID和客户端密钥(或签名)和令牌

我们可以在我们的系统中保存授权代码,并再次使用auth代码刷新访问令牌,就像刷新令牌一样.

除非授权代码过期过期.

所以我想知道为什么oauth2的设计者设计这两个概念而不仅仅使用一个概念,或者只是设计授权代码并给它一个很长的过期时间.

s1d*_*s1d 12

我担心你还没有理解oauth2的概念.获取访问令牌的方法不仅有两种,还有更多.每个基本上都称为"授权类型".我正在描述我在下面部署的用例:

1-授权代码:这类似于您在不同网站上看到的"使用Facebook登录"等按钮流程,允许您使用Facebook等帐户注册/登录.在这里,点击此按钮,控制指向Facebook,用户在其中输入他的登录凭证.如果成功,授权代码将发送到您在注册为Facebook开发人员时输入的任何重定向.然后,您可以使用此授权代码请求访问令牌服务获取访问令牌,然后在访问任何Facebook Web服务时使用该令牌以获取用户的详细信息.

2-客户端凭据:如果您正在运行自己的Web服务,并且希望仅允许访问有效客户端,则这是您将使用的授权类型.例如,您正在运行您的Web服务,现在您希望在您通过任何应用商店分发的本机移动应用中使用它.这将确保只有安装了您应用的用户才能访问您的网络服务.

3-用户凭证:与上述相同,仅在这种情况下,这将允许您对注册用户进行身份验证,然后授予对我的帐户等用户受限服务的访问权限.

4-刷新令牌:根据设计,访问令牌服务提供访问令牌和刷新令牌.您可以使用从此处获取的刷新令牌来刷新过期的访问令牌.从本质上讲,这不会生成新的访问令牌,只会"刷新"现有令牌.它将为您提供新的访问令牌和刷新令牌,并延长到期时间.当此访问令牌过期时,您再次使用上次获取的刷新令牌调用刷新令牌,并在每次令牌过期时继续重复该过程.