客户端应用程序如何针对Doorkeeper身份验证服务器重新验证用户身份?

时间:2018-09-03 23:46:03

标签: ruby-on-rails oauth-2.0 frontend doorkeeper

假设我们有:

  • 身份验证服务器(使用门卫跟踪应用程序)
  • 客户端应用(反应应用,无服务器)
  • 资源服务器(使用Rails构建的API)

这是我看到授权流程的方式:

  1. 用户点击客户端应用上的登录

  2. client-app使用以下参数将用户发送到门卫: clinet_id redirect_uri response_type = token

  3. 在用户授权应用后,身份验证服务器会重定向回client-app(以重定向url),access_token是该URL的一部分,client-app保存access_token。

  4. 使用access_token向资源服务器发出请求以获取资源。

  5. 资源服务器使用access_token向身份验证服务器发出请求, 使用该access_token获取current_user。

  6. 资源服务器以基于current_user的数据作为响应。

现在,客户端应用从身份验证服务器获取的access_token只能使用2个小时。

因此,在2个小时后,当client-app尝试发出请求时,资源服务器将尝试获取current_user但将获得401,并以401响应client-app。

此时,所有客户端应用都具有client_id和过期的access_token。

客户端应用如何获取新的access_token?

关于此,我在门卫Wiki中找不到很多。似乎所有示例和设置都需要保密。

0 个答案:

没有答案