我正在研究实现OpenID和Oauth2的RESTful API。 IdentityServer4既可以提供又可以完美运行,但是几乎所有示例和教程都在内存测试用户中使用
我一直在努力了解如何使用数据库实现IdentityServer4,同时提供某种服务来创建和管理用户帐户。
我感到困惑的是,注册和帐户管理服务应该在IdentityServer4本身还是在其他项目的其他地方进行。
我一直试图在一个项目中将IdentityServer4与ASP.NET Identity粘合在一起,但是我不知道这种方法是否正确。
实现IdentityServer4和ASP.Net Identity的体系结构将如何?我应该创建2个单独的项目,一个用于IdentityServer4,另一个用于ASP.Net Identity,还是应该尝试将两者结合?
答案 0 :(得分:2)
这实际上归结为您的要求。 ASP.Net Identity实现了许多样板内容,非常适合快速启动并运行,并且与IDS4集成良好。我们在实现中使用了它,但最终对其进行了自定义,因此我建议,如果您的要求与开箱即用的要求有显着差异,则从长远来看,要拥有额外的依赖关系可能会比较痛苦。
我认为将您的身份服务器视为拥有自身数据(用户,客户端,永久授权等)的自包含(微)服务,并公开用于从外部管理所述实体的任何所需API都是有意义的。 IDS4并没有规定或特别在意您如何进行用户身份验证或如何存储数据,因此您可以自由地以自己喜欢的任何方式来实现它。
在数据库方面您有偏好吗?它将如何部署?