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


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

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

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

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

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

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

Чтобы приложение входить в систему с помощью 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. Выберите Выбрать.

Клонирование примера мобильного приложения 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.

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

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

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

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

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

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

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

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

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

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

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

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

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