实现 OpenID 以及您自己的身份验证



我知道设计是主观的。但我想知道这是否是个好主意?

假设我在应用程序中实现了OpenID connect。我支持通过多个平台登录。但是现在,假设我需要维护我的用户数据库以授权我的服务器上的资源;或者让我们说我需要存储用户首选项。

维护用户的表并在用户每次使用 OpenID 登录或使用我的注册/登录 API 时将数据推送到其中,使用用户的电子邮件 ID 作为 OpenID 提供的主键(因为这不会改变(是一个好主意吗?

将两者结合起来的好方法有哪些?这样做有什么优点和缺点? 支持授权(我的服务器上的资源(以及使用 OpenID/oAuth 进行身份验证的最佳方法是什么?

这是一个非常好的问题,在很多地方都没有很好地涵盖。

跟踪用户

就通过多个平台登录而言,常见的模式是对所有类型的登录使用相同的授权服务器,并"联合"到不同的身份提供程序,具有以下好处:

  • UI 和 API 中的代码更简单
  • 每个用户只有一个用户 ID,无论登录方法如何

用户数据

如前所述,在业务应用程序的现实世界中,您通常需要通过 2 个用户数据源管理用户并授权请求。我的几篇文章可能会提供一些有用的技巧:

  • 用户数据管理
  • 授权设计

最新更新