我已经遵循了IdentityServer4指南(https://identityserver4.readthedocs.io/en/release),QuickStarts一切正常,直到我尝试了第6个样本(AspNetIdentity)。
此示例使用IdentityServer4.AspNetIdentity程序集。标准实现使用EF。问题是我需要使用不基于DB的不同存储。
我已成功从Identity AspNet应用程序中删除EF,但未在AspNetCore中删除。
底层模型已经从AspNet变为AspNetCore,所以如何从AspNetCore实现中删除EF?
答案 0 :(得分:1)
我认为你给自己的工作量超过了要求。 IdentityServer4.AspNetIdentity基本上简而言之,为您提供一些良好的管道,以弥合应用程序的AspNetCore.Identity
用户DbContext,AspNetCore.Identity和IdentityServer4用户依赖项(IProfileService
和IResourceOwnerValidator
)之间的差距
如果我处于你的情况,我宁愿实现我自己的IResourceOwnerValidator
和IProfileService
,然后在启动配置期间将它们添加到AspNetCore DI / Services容器中。
IProfileService用于构建您正在使用的任何用户存储的用户声明,IResourceOwnerValidator用于在资源所有者/密码流期间验证资源所有者凭据。