Поделиться через


Вход пользователей для примера веб-приложения ASP.NET Core в внешнем клиенте

В этом руководстве используется пример веб-приложения ASP.NET Core для отображения основных принципов современной проверки подлинности с помощью библиотеки проверки подлинности Майкрософт для .NET и Microsoft Identity Web для обработки проверки подлинности ASP.NET Core.

В этой статье вы зарегистрируете веб-приложение в Центре администрирования Microsoft Entra и создадите вход и выйдите из потока пользователя. Вы свяжите веб-приложение с потоком пользователя, скачайте и обновите пример веб-приложения ASP.NET Core с помощью собственных сведений о внешнем клиенте. Наконец, вы запустите и протестируете пример веб-приложения.

Необходимые компоненты

Регистрация веб-приложения

Чтобы приложение входить в систему с помощью Microsoft Entra, Внешняя идентификация Microsoft Entra должны быть осведомлены о создаваемом приложении. Регистрация приложения устанавливает отношение доверия между приложением и Microsoft Entra. При регистрации приложения внешний идентификатор создает уникальный идентификатор, известный как идентификатор приложения (клиента), значение, используемое для идентификации приложения при создании запросов проверки подлинности.

Ниже показано, как зарегистрировать приложение в Центре администрирования Microsoft Entra:

  1. Войдите в Центр администрирования Microsoft Entra как минимум разработчик приложений.

  2. Если у вас есть доступ к нескольким клиентам, используйте значок Параметры в верхнем меню, чтобы переключиться на внешний клиент из меню каталогов и подписок.

  3. Перейдите к приложениям> удостоверений>Регистрация приложений.

  4. Выберите + Создать регистрацию.

  5. На отображаемой странице регистрации приложения;

    1. Введите понятное имя приложения, отображаемое пользователям приложения, например ciam-client-app.
    2. В разделе Поддерживаемые типы учетных записей выберите Учетные записи только в этом каталоге организации.
  6. Выберите Зарегистрировать.

  7. Панель обзора приложения отображается при успешной регистрации. Запишите идентификатор приложения (клиента), который будет использоваться в исходном коде приложения.

Определение платформы и URL-адресов

Чтобы указать тип приложения для регистрации приложения, выполните следующие действия.

  1. В разделе Управление выберите Проверка подлинности.
  2. На странице конфигураций платформы выберите "Добавить платформу" и выберите "Веб-параметр".
  3. Введите https://localhost:7274/signin-oidcURI перенаправления.
  4. В разделе URL-адрес выхода front-channel введите https://localhost:7274/signout-callback-oidc для выхода.
  5. Нажмите кнопку "Настроить", чтобы сохранить изменения.

Включение неявных и гибридных потоков

В построенном приложении используется неявный поток, который необходимо включить.

  1. В разделе " Неявное предоставление" и "Гибридные потоки " выберите параметр маркеров идентификатора .
  2. Выберите Сохранить.

Добавление секрета клиента приложения

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

  1. На странице Регистрация приложений выберите созданное приложение (например, ciam-client-app), чтобы открыть страницу обзора.
  2. В разделе Управление выберите Сертификаты и секреты.
  3. Щелкните Создать секрет клиента.
  4. В поле "Описание" введите описание секрета клиента (например, секрет клиента приложения ciam).
  5. В разделе "Срок действия" выберите срок действия, для которого секрет действителен (для правил безопасности организации), а затем нажмите кнопку "Добавить".
  6. Запишите значение секрета в поле Значение. Это значение будет использовано позже для конфигурации. Значение секрета не будет отображаться снова и не извлекается с помощью каких-либо средств после перехода от сертификатов и секретов. Обязательно запишите его.
  1. На странице Регистрация приложений выберите созданное приложение (например, ciam-client-app), чтобы открыть страницу обзора.

  2. В разделе Управление выберите Разрешения API. В списке настроенных разрешений приложение было назначено разрешение User.Read . Однако, поскольку клиент является внешним клиентом, пользователи-потребители сами не могут согласиться с этим разрешением. Вы, как администратор, должны предоставить это разрешение от имени всех пользователей в клиенте:

    1. Выберите "Предоставить согласие администратора" для <имени> клиента, а затем нажмите кнопку "Да".
    2. Выберите "Обновить", а затем убедитесь, что имя> клиента предоставлено в разделе "Состояние" <для обоих область.

Создание потока пользователей

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

  1. Войдите в Центр администрирования Microsoft Entra как минимум внешний поток пользователя id Администратор istrator.

  2. Если у вас есть доступ к нескольким клиентам, используйте значок Параметры в верхнем меню, чтобы переключиться на внешний клиент из меню каталогов и подписок.

  3. Перейдите к потокам пользователей внешних>удостоверений удостоверений>.

  4. Выберите +Создать поток пользователя.

  5. На странице создания:

    1. Введите имя потока пользователя, например SignInSignUpSample.

    2. В списке поставщиков удостоверений выберите учетные записи электронной почты. Этот поставщик удостоверений позволяет пользователям входить или регистрироваться с помощью своего адреса электронной почты.

      Примечание.

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

    3. В разделе "Учетные записи электронной почты" можно выбрать один из двух вариантов. В этом руководстве выберите "Электронная почта с паролем".

      • Электронная почта с паролем: позволяет новым пользователям регистрироваться и входить в систему с помощью адреса электронной почты в качестве имени входа и пароля в качестве их первых учетных данных фактора.
      • Одноразовый секретный код электронной почты: позволяет новым пользователям регистрироваться и выполнять вход с помощью адреса электронной почты в качестве имени входа и однократного секретного кода электронной почты в качестве учетных данных первого фактора. Одноразовый секретный код электронной почты должен быть включен на уровне клиента (единый секретный код всех поставщиков>удостоверений), чтобы этот параметр был доступен на уровне потока пользователя.
    4. В разделе "Атрибуты пользователя" выберите атрибуты, которые необходимо собрать от пользователя при регистрации. Выбрав "Показать больше", можно выбрать атрибуты и утверждения для страны или региона, отображаемого имени и почтового индекса. Нажмите ОК. (Пользователи запрашивают атрибуты только при первом регистрации.)

  6. Нажмите кнопку создания. Новый поток пользователя появится в списке Потоки пользователей. Если потребуется, обновите страницу.

Чтобы включить самостоятельный сброс пароля, выполните действия, описанные в статье "Включение самостоятельного сброса пароля".

Связывание веб-приложения с потоком пользователя

Хотя многие приложения могут быть связаны с потоком пользователя, одно приложение может быть связано только с одним потоком пользователя. Поток пользователя позволяет настроить взаимодействие с пользователем для определенных приложений. Например, можно настроить поток пользователя, который требует, чтобы пользователи входить или регистрироваться с помощью адреса электронной почты.

  1. В меню боковой панели выберите "Удостоверение".

  2. Выберите внешние удостоверения, а затем потоки пользователей.

  3. На странице "Потоки пользователей" выберите имя потока пользователя, созданное ранее, например SignInSignUpSample.

  4. В разделе "Использование" выберите "Приложения".

  5. Выберите Добавить приложение.

  6. Выберите приложение из списка, например ciam-client-app или используйте поле поиска для поиска приложения, а затем выберите его.

  7. Выберите Выбрать.

Клонирование или скачивание примера веб-приложения

Чтобы получить пример приложения, можно клонировать его из GitHub или скачать его в виде файла .zip.

  • Чтобы клонировать пример, откройте командную строку и перейдите к месту создания проекта и введите следующую команду:

    git clone https://github.com/Azure-Samples/ms-identity-ciam-dotnet-tutorial.git
    
  • Скачайте файл .zip. Извлеките его в путь к файлу, где длина имени меньше 260 символов.

Настройка веб-приложения

  1. Перейдите в корневую папку примера, который вы скачали и каталог, содержащий пример приложения ASP.NET Core:

    cd 1-Authentication\1-sign-in-aspnet-core-mvc
    
  2. Откройте файл appsettings.json.

  3. В службе "Центр" найдите Enter_the_Tenant_Subdomain_Here и замените его поддоменом клиента. Например, если основной домен клиента — это caseyjensen@onmicrosoft.comзначение, которое необходимо ввести, — casyjensen.

  4. Enter_the_Application_Id_Here Найдите значение и замените его идентификатором приложения (clientId) приложения, зарегистрированного в Центре администрирования Microsoft Entra.

  5. Замените Enter_the_Client_Secret_Here значение секрета клиента, настроенное в секрете клиента приложения.

Запуск примера кода

  1. В оболочке или командной строке выполните следующие команды:

    dotnet run
    
  2. Откройте веб-браузер и перейдите по адресу https://localhost:7274.

  3. Войдите с учетной записью, зарегистрированной во внешнем клиенте.

  4. После входа в отображаемое имя отображается рядом с кнопкой выхода , как показано на следующем снимке экрана.

    Снимок экрана: вход в веб-приложение ASP.NET Core.

  5. Чтобы выйти из приложения, нажмите кнопку выхода .

См. также