【发布时间】:2019-03-26 11:46:13
【问题描述】:
我正在尝试使用 IdentityServer4 进行身份验证和授权。我们有一套新的和现有的应用程序。
此时我们有: - 1 个 ReactJs 应用程序 - (没有身份验证,因为它是一个新应用程序)但它将使用 oidc-client 使用隐式流 - 1 个相当老的 Web 表单应用程序 - 可能会使用混合流(我仍然需要弄清楚) - 2 个 .NetCore MVC Web 应用程序 - 它们都将使用 Hybrid Flow
- 我们想要使用 IDS4 保护的 api 项目很少。
WebForm 和 MVC 应用程序都使用自己的 Web 服务与某些数据库通信以验证用户凭据并让用户登录到应用程序。
最终,我们希望将用户从现有数据库迁移到单独的用户数据库。 IdentityServer 还将利用这个新的用户数据库进行 SSO + Api 授权。
我正在考虑创建一个单独的 api,仅用于用户身份验证(可能是 AspNetIdentity 作为 webapi)和 IdentityServer4 与此 api 通信以验证用户名/密码?这看起来对吗?
另外,如何配置 IDServer4 以使用 Api 进行身份验证,而不是使用 services.AddIdentityServer().AddAspNetIdentity() 直接与我的 AspNewIdentity 数据库对话?以及如何确定这个api?我能找到任何样品吗?
【问题讨论】:
-
为什么不想在同一个应用程序中托管带有 Identity 的 IdSrv4?
-
因为我想让它们分开......很多原因 1. Identity Api 可以潜在地与多个数据库对话以对用户进行身份验证 2. Admin UserManagement App 可以通过 IdServer 访问令牌直接使用此 api用于创建用户、重置密码、锁定用户、管理角色和权限等操作。
标签: c# asp.net-web-api asp.net-core identityserver4