作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试实现“使用...登录”身份验证系统。
我已经阅读了几篇关于 oauth2 的帖子和文章。我读过的每个人都在获取访问 token 并可能登录该 session 的用户时停止讨论或教程。
我理解这一点,并且可以实现那部分。这是我不明白的:
最佳答案
首先,OAuth2不是身份验证协议(protocol)。颁发的访问 token 不会让您登录,但允许您调用 Web 服务 (API)。
OpenID Connect是建立在 OAuth2 之上的身份验证协议(protocol)。它允许您取回 id_token
来自识别用户的授权服务器。如果您将 token (或其中的信息)保存在例如 cookie 中,则可以为用户建立经过身份验证的 session 。
您也不会将访问 token 存储在数据库中。访问 token 是短暂的,将它们存储在服务器端没有任何意义。
您确实将刷新 token 存储在数据库中。当客户端(请求 token 的应用程序)是 secret 的(可以保密)时,可能会发出刷新 token 。当旧 token 过期时,客户端可以使用此刷新 token 为 API 请求新的访问 token 。当用户一周未访问该应用程序时,这肯定会发生。
关于api - 拿到 oauth2 token 后怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34802873/
我正在尝试实现“使用...登录”身份验证系统。 我已经阅读了几篇关于 oauth2 的帖子和文章。我读过的每个人都在获取访问 token 并可能登录该 session 的用户时停止讨论或教程。 我理解
我是一名优秀的程序员,十分优秀!