Как мне создать простое решение aspnetcore (2.2) +, которое использует бэкэнд только для аутентификации пользователей?
Я не должен управлять пользователями, и я могу указать API, поэтому он должен иметь, надеюсь, только 1 метод IsAuthenticated(email,password)
.
Я начал с плиты котла
services.AddDefaultIdentity<MyIdentityUser>()
.AddDefaultUI(UIFramework.Bootstrap4)
.AddUserStore<MyUserStore>();
с самой простой из возможных реализаций
MyIdentityUser
и
MyUserStore : IUserStore<MyIdentityUser>, IUserPasswordStore<MyIdentityUser>, IUserEmailStore<MyIdentityUser>
но он делает слишком много, как я должен был делать (поддельные) реализации FindByNameAsync
, GetPasswordHashAsync
, GetUserIdAsync
, GetUserNameAsync
и более.
Я думаю виноват именно метод AddDefaultIdentity
(ну ... я действительно виноват, поскольку я все еще считаю себя превосходящим компьютеры) как Я предполагаю, что «По умолчанию» в имени метода означает, что у меня будет бэкэнд, который управляет всем.
Я прочитал MSDN: Введение в идентификацию в ASP.NET Core и Настройка идентификации ядра ASP.NET , но они слишком ориентированы на замену EF-and-everything или моего Reading-Docs-skillz не достаточно хороши. Точно так же я искал в интернете, но, похоже, мой гугл-фу недостаточно силен.
UPDATE
Не упомянутое выше, мне особенно пришлось реализовать GetPasswordHashAsync
, который должен возвращать тот же алгоритм хеширования, который используется при хешировании пользовательского ввода (viewmodel). Если я могу переопределить этот алгоритм хеширования, я могу либо отправить простой текст на сервер (хмм), либо попросить алгоритм и реализовать его сам (лучше).
В настоящее время GetPasswordHashAsync
должен возвращать хеш в специальном формате с ведущим символом, указывающим, какой из двух алгоритмов использовался.
Является ли решение переопределить (как) алгоритм, используемый для модели представления? Если да, то как?
Я вижу статьи о настройке нового PasswordHasher
для UserManager
, но не могу понять, как ввести его в поток.