首页 > 解决方案 > IdentityServer4 与 ASP.Net 身份项目架构

问题描述

我正在研究实现 OpenID 和 Oauth2 的 RESTful API。IdentityServer4 提供了两者并且完美运行,但是几乎所有示例和教程都在内存测试用户中使用

我一直在努力理解如何使用数据库实现 IdentityServer4,同时拥有某种允许创建和管理用户帐户的服务。

我很困惑注册和帐户管理服务应该发生在 IdentityServer4 本身还是其他地方,在不同的项目上。

我一直试图在一个项目中将 IdentityServer4 与 ASP.NET Identity 结合在一起,但是我不知道这种方法是否正确。

实现 IdentityServer4 和 ASP.Net Identity 的架构会是什么样子?我应该创建 2 个单独的项目,一个用于 IdentityServer4,另一个用于 ASP.Net Identity,还是应该尝试将两者结合起来?

标签: asp.netidentityserver4

解决方案


这真的归结为您的要求。ASP.Net Identity 实现了很多样板文件,有助于快速启动和运行,并且与 IDS4 很好地集成。我们在我们的实现中使用了它,但最终对其进行了很多定制,所以我建议如果您的要求与它提供的开箱即用的内容有很大不同,从长远来看,拥有这种额外的依赖关系可能会更痛苦。

在我看来,将您的身份服务器视为拥有自己的数据(用户、客户端、持久授权等)并公开任何需要的 API 以从外部管理所述实体的自包含(微)服务是有意义的。IDS4 没有规定或特别关心您如何进行用户身份验证或如何存储数据,因此您可以自由地以任何您喜欢的方式实施。

您对数据库有偏好吗?它将如何部署?


推荐阅读