使用 OpenId 时的应用程序架构 .. 注册应该集中吗?

Application Architecture when using OpenId .. Should Sign Up be centralized?

我正在处理一个包含 4 个应用程序的项目:

有几个页面与身份验证过程相关:

  1. 注册

  2. 登录

  3. 外部登录(Google, ...)

  4. 注销

  5. 发送双因素验证码

  6. 验证电子邮件

  7. 重设密码

问题

所有这些页面都应该在 OpenId 应用程序中吗?

我看了几个网站,有一些不同...

在一些手机和网站应用程序中有自己的注册 (1)。

但其他页面似乎在 OpenId 应用程序中。

我没有完整的视图,因为我还没有在移动应用程序上工作...

所以我不确定一种方法的所有优点和缺点。

有人可以解释一下吗?

由于 IdentityServer 不处理用户和用户管理端,您需要自己做。替代方案是自己完成,使用 ASP.NET Identity 或将其外包给 third-party 服务,如 Auth0 或 Octa。

我建议将 IdentiyServer 放在它自己的服务中,因为将它与同一服务中的 ASP.NET Identity 结合使用会使解决方案的推理和故障排除变得更加困难。一种选择是仅 运行ning IdentiyServer 提供一个服务,没有任何多余的内容,然后通过共享用户数据库 运行 ASP.NET 身份并在那里处理用户管理。

因此,您可以将 identity.yourdomain.com 和 accounts.yourdomian.com 作为构建它的一种方式,或者将您的应用程序之一用于使用 Identity 的帐户部分。