OAuth2授权码模式中刷新令牌的目的

4
我认为我已经理解了OAuth2使用授权码授权类型的流程。资源所有者登录服务器,然后被重定向到具有授权码的客户端。然后,客户端使用授权代码从授权服务器查询访问令牌和刷新令牌。这是我感到困惑的地方。
当访问令牌过期时,客户端应该使用授权代码还是刷新令牌来获取新的访问令牌?如果您有授权代码,为什么要使用刷新令牌?
请注意,我不是在寻找答案,说“刷新令牌是可选的”,因为我正在为亚马逊Alexa编写此服务器,该服务需要刷新令牌和授权码授权类型。
1个回答

3
如果oauth2服务器按照授权代码的安全指南RFC 6749第10.5节编写,您就不能重复使用它来获取第二个access_token。
引用:
“授权代码必须是短暂且单次使用的。如果授权服务器观察到多次尝试将授权代码交换为访问令牌,则授权服务器应尝试撤销所有已基于受损授权代码授予的访问令牌。”
如果授予了refresh_token,则可以使用refresh_token授权进行交换,以获得另一个access_token和新的refresh_token。在这种情况下,如果refresh_token仍然有效,则用户无需重新验证身份。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接