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


Вход пользователей в примере приложения macOS (Swift) с помощью собственной проверки подлинности

В этом руководстве показано, как запустить пример приложения macOS, которое демонстрирует сценарии регистрации и входа с помощью Внешняя идентификация Microsoft Entra.

Вы узнаете, как выполнять следующие задачи:

  • Зарегистрируйте приложение во внешнем клиенте.
  • Включите общедоступный клиент и собственные потоки проверки подлинности.
  • Создайте поток пользователя во внешнем клиенте.
  • Свяжите приложение с потоком пользователя.
  • Обновите пример собственного приложения macOS, чтобы использовать собственные сведения о внешнем клиенте.
  • Запустите и проверьте пример собственного приложения macOS.

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

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

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

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

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

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

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

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

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

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

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

Включение общедоступных клиентских и собственных потоков проверки подлинности

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

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

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

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

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

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

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

  2. Если у вас есть доступ к нескольким клиентам, убедитесь, что вы используете каталог, содержащий внешний клиент:

    1. Щелкните значок каталогов и подписок на панели инструментов.
    2. Параметры портала | Страница каталогов и подписок, найдите свой внешний каталог клиента в списке имен каталогов и нажмите кнопку "Переключить".
  3. В меню боковой панели выберите "Удостоверение".

  4. Выберите потоки пользователей внешних>удостоверений.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Связав приложение с потоком пользователей, вы можете протестировать поток пользователя, имитируя процесс регистрации или входа пользователя с приложением из Центра администрирования Microsoft Entra. Для этого выполните действия, описанные в разделе "Тестирование регистрации и входа в поток пользователя".

Клонирование примера приложения macOS

  1. Откройте терминал и перейдите в каталог, в котором требуется сохранить код.

  2. Клонируйте приложение macOS из GitHub, выполнив следующую команду:

    git clone https://github.com/Azure-Samples/ms-identity-ciam-native-auth-macos-sample.git
    
  3. Перейдите в каталог, в котором клонирован репозиторий:

    cd ms-identity-ciam-native-auth-macos-sample
    

Настройка примера приложения macOS

  1. В Xcode откройте проект NativeAuthSampleAppMacOS.xcodeproj .

  2. Откройте файл NativeAuthSampleAppMacOS/Configuration.swift .

  3. Найдите заполнитель:

    • Enter_the_Application_Id_Hereи замените его идентификатором приложения (клиента) зарегистрированного ранее приложения.
    • Enter_the_Tenant_Subdomain_Here и замените его поддоменом каталога (клиента). Например, если основной домен клиента — это contoso.onmicrosoft.com, используйте contoso. Если у вас нет поддомена клиента, узнайте, как считывать сведения о клиенте.

Примечание.

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

Запуск и тестирование примера приложения macOS

Чтобы создать и запустить код, выберите "Выполнить " в меню "Продукт " в Xcode. После успешной сборки Xcode запустит пример приложения в симуляторе.

Снимок экрана: запрос пользователя на ввод электронной почты и пароля в приложении macOS.

В этом руководстве проверяется использование электронной почты и пароля . Введите допустимый адрес электронной почты и пароль, выберите "Регистрация" и запустите экран кода отправки:

Снимок экрана: запрос пользователя на ввод однократного секретного кода (OTP) в приложении macOS.

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

Следующие шаги