Как выполнить гибридную индивидуальную учетную запись пользователя / аутентификацию aad в ASP. NET MVC? - PullRequest
1 голос
/ 27 марта 2020

У меня есть приложение ASP. NET MVC, которое используется разными клиентами. В настоящее время приложение настроено на использование отдельных учетных записей пользователей. Я построил некоторые логики авторизации c вокруг этого и хотел бы сохранить логики c без изменений.

Я получил запрос, что некоторые клиенты хотели бы выполнить аутентификацию для своих пользователей с помощью Azure Active Directory. Я раскомментировал часть app.UseMicrosoftAccountAuthentication от Startup.Auth.cs. Я зарегистрировал приложение как мультитенант в моем AAD. Мне удалось запустить все это, и пользователи теперь имеют возможность связать свои учетные записи с AAD и использовать его для аутентификации.

Однако я столкнулся с несколькими проблемами, с которыми я борюсь:

  1. Для того, чтобы пользователь связал свою учетную запись с AAD, он должен в первую очередь настроить индивидуальную учетную запись для входа / прохода. Как я могу избежать этого? Я хочу, чтобы пользователи проходили аутентификацию с помощью логина / пароля или AAD, а не обоих одновременно.
  2. У меня нет контроля над тем, какую учетную запись использует пользователь для аутентификации. Предположим, я ожидаю, что пользователь будет использовать учетную запись в domainx.com, но если они свяжут учетную запись domainy.com, она все равно будет работать. Мне нужно иметь какой-то способ сравнить ожидаемый домен с фактическим, который возвращается из AAD. Как я могу это сделать?
  3. Одна из идей для решения этой проблемы заключалась в том, чтобы администратор клиента создал для них учетные записи пользователей. Проблема в том, что в AspNetUserLogins мне нужно хранить AAD ID пользователя, а не электронную почту. Как я могу запросить AAD, чтобы проверить идентификатор пользователя на основании электронного письма?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...