OAuth & OpenID Connect - 何时使用刷新令牌以及选择哪种路由



阅读了有关Oauth&OpenID Connect,我有两个问题,我找不到答案:

  1. 什么时候使用刷新令牌?我了解刷新令牌的作用,但是我不确定何时仅提供仅提供访问令牌以及需要提供访问令牌和刷新令牌?例如,如果用户使用其凭据登录到我的网站(电子邮件&密码(。我应该只返回访问令牌吗?如果我不想让用户关闭网站之后,答案会更改吗?另外,如果客户端应用程序具有代码,是否应该将其与access_token或access_token和Refresh令牌进行交换?在我看来,代码是更换刷新令牌的代码。
  2. 何时使用/授权路由以及何时使用/令牌路由?如果用户使用他的凭据登录到我的网站,我应该使用/令牌路由或/授权路由?

1(刷新令牌用于获得刷新的访问令牌。它属于接收到的应用程序,必须用于代币发行的授权服务器。您可以从RFC6749的刷新令牌定义

中阅读有关它的更多信息。

始终为典型的OAuth/OpenID连接流提供访问令牌。但是,在某些情况下并未发布刷新令牌。例如,如果您使用隐式流量,则不会发出刷新令牌(注意 - 不再建议使用隐式流(。

因此,在您的情况下,如果您认为用户使用时间内会有访问令牌到期,那么最好发布可用于更新访问令牌的刷新令牌。刷新令牌请求的响应通常包含更新的刷新令牌(无效的旧刷新令牌(。但这是特定于实施的。

2(通过用户代理调用授权端点。例如,这是通过浏览器显示的登录对话框。令牌端点通过后频道请求调用。如果使用隐式流,则不使用令牌端点(同样,不再建议使用此流程(。对于授权代码流,您需要同时使用授权和令牌EDNPOINT来完成协议。

最新更新