具有ASP.Net Identity Project Architecture的IdentityServer4

时间:2018-11-22 16:15:02

标签: asp.net identityserver4

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

我一直在努力了解如何使用数据库实现IdentityServer4,同时提供某种服务来创建和管理用户帐户。

我感到困惑的是,注册和帐户管理服务应该在IdentityServer4本身还是在其他项目的其他地方进行。

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

实现IdentityServer4和ASP.Net Identity的体系结构将如何?我应该创建2个单独的项目,一个用于IdentityServer4,另一个用于ASP.Net Identity,还是应该尝试将两者结合?

1 个答案:

答案 0 :(得分:2)

这实际上归结为您的要求。 ASP.Net Identity实现了许多样板内容,非常适合快速启动并运行,并且与IDS4集成良好。我们在实现中使用了它,但最终对其进行了自定义,因此我建议,如果您的要求与开箱即用的要求有显着差异,则从长远来看,要拥有额外的依赖关系可能会比较痛苦。

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

在数据库方面您有偏好吗?它将如何部署?