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


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

применяется к: белый круг с серым символом X. арендаторы рабочей силы зеленый круг с символом белой галочки. внешние клиенты (подробнее)

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

Необходимые условия

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

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

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

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

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

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

  4. Выберите + Новая регистрация.

  5. На появившейся странице "Зарегистрировать приложение";

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

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

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

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

  1. На странице регистрации приложений выберите регистрацию приложения, для которой требуется включить общедоступный клиент и собственные потоки проверки подлинности.
  2. В разделе Управлениевыберите Аутентификация.
  3. В разделе Дополнительные параметрыразрешить общедоступные потоки клиентов:
    1. Для: Включить следующие потоки мобильных и настольных устройств выберите Да.
    2. Для включения встроенной проверки подлинностивыберите Да.
  4. Нажмите кнопку Сохранить.

После регистрации вашего приложения ему присваивается разрешение User.Read. Однако, поскольку клиент является внешним клиентом, сами пользователи клиента не могут согласиться с этим разрешением. Вы, как администратор клиента, должны предоставить это разрешение от имени всех пользователей в клиенте:

  1. На странице регистрации приложений выберите созданное приложение (например, ciam-client-app), чтобы открыть его страницу "Обзор" .

  2. В разделе Управлениевыберите Разрешения API.

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

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

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

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

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

    1. Выберите значок «Каталоги и подписки» на панели инструментов.
    2. Параметры портала | Каталоги + подписки странице, найдите свой внешний каталог клиента в списке имени каталога, а затем выберите Switch.
  3. В меню боковой панели выберите Identity.

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

  5. Выберите + Новый сценарий пользователя.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Клонирование примера мобильного приложения iOS

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

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

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

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

Настройка примера мобильного приложения iOS

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

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

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

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

Заметка

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

Запуск и тестирование примера мобильного приложения iOS

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

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

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

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

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

Другие сценарии, поддерживаемые этим примером

Пример приложения поддерживает следующие потоки:

  • Email + password охватывает процессы входа или регистрации с использованием электронной почты и пароля.
  • регистрация электронной почты и пароля с помощью атрибутов пользователя охватывает регистрацию с помощью электронной почты и пароля, а также отправку атрибутов пользователя.
  • Сброс пароля включает самостоятельный процесс сброса пароля (SSPR).
  • Доступ к защищённому API обеспечивает вызов защищённого API после успешной регистрации или успешного входа пользователя и получения токена доступа.
  • Резервная проверка в веб-браузере охватывает использование аутентификации на основе браузера в качестве резервного механизма, когда пользователь не может выполнить аутентификацию с помощью нативной аутентификации по какой-либо причине.

Тестирование электронной почты с помощью потока паролей

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

  1. Используйте шаги, описанные в создания потока пользователя для создания нового потока пользователя, но на этот раз выберите Email с паролем в качестве метода проверки подлинности. Необходимо настроить страну или регион и город в качестве атрибутов пользователя. Кроме того, можно изменить существующий поток пользователя для использования электронной почты с паролем (выберите внешние удостоверения>потоки пользователей>SignInSignUpSample>Поставщики удостоверений>электронной почты с паролем>Сохранить).

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

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

  4. Выберите сценарий, который требуется протестировать, например Электронная почта + пароль или Электронная почта + пароль регистрация с атрибутами пользователя или Сброс пароля, а затем следуйте инструкциям. Чтобы протестировать сброс пароля, необходимо сначала зарегистрировать пользователя и включить одноразовый пароль по электронной почте для всех пользователей в арендаторе.

Тестирование вызова защищенного потока API

Используйте шаги из раздела Вызов защищенного веб-API в образце мобильного приложения iOS с использованием встроенной проверки подлинности, чтобы вызвать защищенный веб-API из образца мобильного приложения Android.

Дальнейшие действия