【发布时间】:2016-04-20 13:31:00
【问题描述】:
我正在尝试实现“使用...登录”身份验证系统。
我已经阅读了几篇关于 oauth2 的帖子和文章。我读过的每个人都在获取访问令牌并可能登录该会话的用户时停止讨论或教程。
我明白这一点,并且可以实施该部分。这是我没有得到的:
当用户离开站点并且一周没有回来,但他们仍然登录到客户端时,我如何将他们重新登录到我的应用程序?我知道您将访问令牌保存到数据库中,但您如何使用它重新登录?
如果他们从客户端注销,如何将他们重定向到客户端的登录页面。似乎每次我尝试重新登录时,都会要求我再次允许或拒绝该应用程序。我知道这不是标准的,那么我该如何解决呢?我应该向客户端发送什么信息,以便它知道用户已经授权了应用程序?
除非有人知道一篇文章,否则我不需要代码示例,我真正想要的只是在收到并保存访问令牌后如何处理访问令牌的高级概述。
谢谢!
编辑:
我了解 OAuth2 本身并不是一个授权系统,但每个人和他们的狗都有一个“使用...登录”选项。为了做到这一点,有必要使用 OAuth2(或某种形式的 API 标识符)。这就是我想要做的。
下面的流程听起来是否正确:
- 从身份验证服务器获取临时代码
- 用它换取访问令牌
- 从身份验证服务器获取用户数据并使用它做任何你想做的事情(可能保存到数据库)。
- 让用户登录,同时保存刷新令牌。
- 在 cookie 中为用户设置一个标识符(访问令牌)
- 当用户回来时,通过 cookie 令牌识别他们。
- 尝试调用 api 并查看访问令牌是否仍然有效。
- 如果访问令牌仍然有效,那就太好了!
- 如果访问令牌无效,则通过刷新令牌获取一个新令牌。
这是使用 OAuth2 帮助验证用户的基本要点吗?
【问题讨论】:
标签: api authentication oauth-2.0