Членство Перезагрузить, изменить имя пользователя, адрес электронной почты и сбросить пароль

Мы используем identityserver3 и членство перезагрузки для проверки подлинности в нашем приложении.

Теперь у нас есть требование изменить имя пользователя электронной почты и сбросить пароли пользователей из области администратора в нашем приложении. Я видел Identity Manager, но это не то, что я ищу. Из прочтения Wiki о членстве в перезагрузке кажется, что он поддерживает все, что я хотел бы сделать. Я просто понятия не имею, как будет выглядеть реализация для этого.

Я думаю, что мы будем вызывать наш API, где мы знаем, что пользователь аутентифицирован, а затем просто вызывать API MembershipReboot, чтобы позаботиться о текущей задаче, будь то изменение имени пользователя или электронной почты или сброс пароля.

Но, как я уже сказал, я не уверен. Должны ли мы использовать промежуточное ПО Identity Manager? Такое ощущение, что это не ответ, так как мы пишем наш собственный интерфейс администратора, и, насколько я вижу, он не поддерживает сброс пароля по электронной почте, и API MembershipReboot говорит, что это так.

Или мы должны перезвонить на наш сервер идентификации и внести изменения? Похоже, нет, потому что это для входа в приложения.

2 ответа

Да, вам нужно создать свой собственный код, чтобы пользователи могли обновлять свою демографическую информацию, включая электронную почту и пароль.

Вам необходимо использовать UserAccountService -> Этот код, который я использую в своем собственном CustomUser, где я храню всю информацию, которая обычно хранится в таблице UserAccount.

_userAccountService = new UserAccountService<CustomUser>(new CustomUserRepository(new CustomDatabase()));

Тогда используйте:

  _userAccountService.ChangeEmailRequest();
_userAccountService.ChangeUsername();
_userAccountService.ChangePassword();

Если вы предпочитаете, чтобы пользователи делали это по электронной почте (используйте, когда они не вошли в систему)

 _userAccountService.ChangePasswordFromResetKey()

Я тоже смотрю на это, но еще не реализовал. Да, я думаю, что вы правы, что вам нужно самим вызывать API MembershipReboot. Есть методы на UserAccountService класс для выполнения этих функций. См. Пример SingleTenantOwinSystemWeb в исходном коде MembershipReboot. Функциональность IdentityManager ограничена, но полезна для разработчиков, чтобы настроить пользователей с ролями и заявками и т. Д. Для тестирования или в качестве основного инструмента администратора.

Другие вопросы по тегам