Авторизация путем обновления заявки с данными из базы данных (Blazor WebAssembly ASP. NET Core hosted) - PullRequest
0 голосов
/ 14 апреля 2020

У меня вопрос по поводу аутентификации в моем веб-приложении с использованием Blazor WebAssembly ASP. NET Размещено в ядре Используемая база данных: Azure SQL.

. Я хочу избежать хранения паролей в базе данных, и поэтому пользователи ограничены наличием учетной записи Microsoft (относится к проекту).

На данный момент пользователь входит в систему с Azure AD в качестве стороннего поставщика аутентификации. При перенаправлении обратно в веб-приложение пользователь создается с заявкой, которая состоит только из сообщения электронной почты Azure. Пользователь направляется на страницу регистрации, где для ввода электронной почты задано текущее электронное письмо с заявкой пользователя. Когда пользователь нажимает кнопку регистрации, предоставленная информация теперь сохраняется в базе данных.

Проблема в том, что у меня теперь есть пользователь в БД, но заявка по-прежнему остается только электронной почтой. Я хочу иметь возможность использовать тег AuthorizeView role на разных страницах и поэтому задаюсь вопросом, возможно ли обновить заявку с ролью, указанной пользователем на странице регистрации? Эти данные на данный момент хранятся только в базе данных.

Если это плохая практика, есть ли другой подобный способ, которым я мог бы сделать эту работу?

1 Ответ

0 голосов
/ 14 апреля 2020

Чтобы использовать AuthorizeView role, заявки на роли должны быть возвращены вашим провайдером идентификации (Azure AD в вашем случае). Ваша заявка должна запросить эти претензии, задав соответствующую область действия.
В соответствии с do c: Разрешения и согласие в конечной точке платформы идентификации Microsoft , область действия profile должна вернуться Роли заявлений.

В do c Защищено ASP. NET Автономное приложение Core Blazor WebAssembly с Azure Active Directory объясняет, как запрашивать области из Azure AD

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...