【发布时间】:2016-10-19 15:47:41
【问题描述】:
最近我发现了 OpenID Connect 标准,现在我正在努力寻找正确的使用方法。
假设我正在构建一个非常标准的 Web 应用程序,它必须具有经过身份验证的用户的概念。所以我的第一个意图是用用户表构建一个本地数据库,包含用户 ID、电子邮件、名字和姓氏、密码、盐等。 这意味着我需要实现所有相关功能,例如注册、登录、更改/忘记密码等。
我没有这样做,而是选择使用 OpenID 连接并利用存储在其他地方(例如 Google)的用户信息。
然后我可以执行通常的 OAuth2 魔术来重定向用户、请求同意等等。
从这一点开始,我有点迷失了方向。在 Google(或其他任何 AS)将基本用户信息(电子邮件、姓名、电话)返回到我的后端应用程序 ID 令牌之后 我该怎么办?我还应该从这些字段中填充一个本地用户数据库(没有密码)吗?在这种情况下,OpenID Connect 只是一个花哨的自动注册程序?那么会话和注销呢?如果用户在 Google 网站上更改了他的手机,而我仍然保存旧版本怎么办?
我在网上阅读了很多 OpenID Connect 文章,但它们似乎都描述了获取令牌的基本流程,所以我对进一步的阶段感到困惑。
我非常感谢有关此问题的任何提示/建议。
【问题讨论】:
标签: jwt openid-connect