IdentityServer4 Asp.Net Core Identity с настраиваемым хранилищем

Я использую IdentityServer4 с Asp.Net Identity. Мне нужно реализовать собственное хранилище удостоверений, что звучит достаточно просто, но все примеры, которые я вижу, используют ядро ​​EntityFramework, которое я не использую.

Возможно, есть еще один способ использовать собственный пользовательский магазин. Может ли кто-нибудь указать мне на пример использования настраиваемого хранилища учетных данных с использованием IdentityServer4.


person Greg P    schedule 05.12.2016    source источник
comment
Вы подключаетесь к существующей базе данных? Что дает вам реализация индивидуального магазина для идентификации asp.net? Почему бы не использовать существующий код для прямого подключения?   -  person leastprivilege    schedule 06.12.2016
comment
Я подключаюсь к существующей базе данных. Я действительно не знаю, какой здесь лучший подход. Я пытаюсь расширить найденный мной пример IdentityFramework4 с использованием ASP.NET Core Identity. Это казалось хорошим местом для начала. Думал, будет просто, но не получается.   -  person Greg P    schedule 06.12.2016
comment
Взгляните на эту серию: linkedin.com/pulse/ не уверен, что это именно то, что вы ищете, но он объясняет использование пользовательского магазина:   -  person Behrooz    schedule 07.12.2016
comment
Если это существующая база данных - просто реализуйте контроллер учетной записи, чтобы подключиться к ней с помощью ADO.NET - здесь ничего особенного в отношении сервера идентификации.   -  person leastprivilege    schedule 07.12.2016
comment
Спасибо, Behrooz. Частично мне не хватало того, как подключить мой пользовательский магазин к IdentityServer, поэтому я не использовал InMemoryUsers, как описано в примере IdentityFramework. Я уверен, как это сделать, было где-то в той документации. Я все еще не уверен во всем этом, но это был большой шаг.   -  person Greg P    schedule 08.12.2016
comment
Вы можете проверить эту ссылку. Я думаю, это то, что вы ищете. code.msdn.microsoft.com/Simple-Aspnet-Identiy-Core- 7475a961   -  person Matias    schedule 16.03.2017


Ответы (1)


В основном это сводится к реализации 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;
    }
}
person Icad    schedule 08.03.2018
comment
Спасибо, что поделились сообщением в блоге! - person Cameron Tinker; 06.05.2019