2016-08-04 109 views
2

我想我使用授权代码授权类型来获得OAuth2的流量。 资源所有者登录到服务器,然后通过授权码重定向到客户端。然后,客户端使用授权码向授权服务器查询访问令牌和刷新令牌。这是我感到困惑的地方。OAuth2使用授权代码刷新令牌的目的

当访问令牌到期时,客户端应该使用授权代码还是刷新令牌来获取新的访问令牌?如果您有授权码,为什么还要刷新令牌?

我不是在寻找一个答案说“刷新令牌是可选的”因为我写这篇服务器,亚马逊Alexa的,需要刷新令牌和授权码交付式的服务。

回答

1

如果oauth2服务器是根据授权代码RFC 6749 Section 10.5的安全原则编写的,则无法重新使用它来获取第二个access_token。

授权码必须是短暂且一次性的。如果授权服务器观察到多次尝试交换访问令牌的授权码,则授权服务器 应该尝试撤销已根据 受损的授权码授予的所有访问令牌。

如果允许,refresh_token可以使用refresh_token授权交换为另一个access_token和新的refresh_token。在这种情况下,如果refresh_token仍然有效,用户不必重新进行身份验证。

+0

谢谢,我没有读得够近。 –

相关问题