带有自定义存储的 IdentityServer4 Asp.Net Core Identity

Gre*_*g P 1 identityserver4 asp.net-core-identity

我将 IdentityServer4 与 Asp.Net Identity 一起使用。我需要实现一个听起来很简单的自定义身份存储,但是我看到的所有示例都使用了我没有使用的 EntityFramework 核心。

也许还有另一种使用自定义用户存储的方法。任何人都可以指出我使用 IdentityServer4 使用自定义凭证存储的示例。

Ica*_*cad 5

基本上它归结为实现 IProfileService 和 IResourceOwnerPasswordValidator 并使用配置生成器注册实现。

这篇博文展示了一个简洁的实现

https://damienbod.com/2017/04/14/asp-net-core-identityserver4-resource-owner-password-flow-with-custom-userrepository/

这个扩展类是一切发生的地方

public static class CustomIdentityServerBuilderExtensions
{
    public static IIdentityServerBuilder AddCustomUserStore(this IIdentityServerBuilder builder)
    {
        builder.Services.AddSingleton<IUserRepository, UserRepository>();
        builder.AddProfileService<CustomProfileService>();
        builder.AddResourceOwnerValidator<CustomResourceOwnerPasswordValidator>();

        return builder;
    }
}
Run Code Online (Sandbox Code Playgroud)