Вход пользователей в пример мобильного приложения Android (Kotlin) с помощью собственной проверки подлинности
В этом руководстве показано, как запустить пример приложения Android, демонстрирующий регистрацию, вход, выход и сброс пароля с помощью собственной проверки подлинности Microsoft Entra.
Вы узнаете, как выполнять следующие задачи:
- Зарегистрируйте приложение во внешнем клиенте.
- Включите общедоступный клиент и собственные потоки проверки подлинности.
- Создайте поток пользователя во внешнем клиенте.
- Свяжите приложение с потоком пользователя.
- Обновите пример файла кода конфигурации Android, чтобы использовать собственные Внешняя идентификация Microsoft Entra для сведений о внешнем клиенте.
- Запустите и проверьте образец собственного мобильного приложения Android.
Необходимые компоненты
- Android Studio.
- Внешний клиент. Если у вас еще нет пробной версии, зарегистрируйтесь на бесплатную пробную версию.
Регистрация приложения
Чтобы приложение входить в систему с помощью Microsoft Entra, Внешняя идентификация Microsoft Entra должны быть осведомлены о создаваемом приложении. Регистрация приложения устанавливает отношение доверия между приложением и Microsoft Entra. При регистрации приложения внешний идентификатор создает уникальный идентификатор, известный как идентификатор приложения (клиента), значение, используемое для идентификации приложения при создании запросов проверки подлинности.
Ниже показано, как зарегистрировать приложение в Центре администрирования Microsoft Entra:
Войдите в Центр администрирования Microsoft Entra как минимум разработчик приложений.
Если у вас есть доступ к нескольким клиентам, используйте значок параметров в верхнем меню, чтобы переключиться на внешний клиент из меню каталогов и подписок.
Перейдите к приложениям> удостоверений>Регистрация приложений.
Выберите + Создать регистрацию.
На отображаемой странице регистрации приложения;
- Введите понятное имя приложения, отображаемое пользователям приложения, например ciam-client-app.
- В разделе Поддерживаемые типы учетных записей выберите Учетные записи только в этом каталоге организации.
Выберите Зарегистрировать.
Панель обзора приложения отображается при успешной регистрации. Запишите идентификатор приложения (клиента), который будет использоваться в исходном коде приложения.
Включение общедоступных клиентских и собственных потоков проверки подлинности
Чтобы указать, что это приложение является общедоступным клиентом и может использовать собственную проверку подлинности, включите общедоступный клиент и собственные потоки проверки подлинности:
- На странице регистрации приложений выберите регистрацию приложения, для которой требуется включить общедоступный клиент и собственные потоки проверки подлинности.
- В разделе Управление выберите Проверка подлинности.
- В разделе "Дополнительные параметры" разрешать потоки общедоступных клиентов:
- Для включения следующих потоков мобильных и настольных компьютеров выберите "Да".
- Для включения собственной проверки подлинности нажмите кнопку "Да".
- Нажмите кнопку "Сохранить ".
Предоставление согласия администратора
На странице Регистрация приложений выберите созданное приложение (например, ciam-client-app), чтобы открыть страницу обзора.
В разделе Управление выберите Разрешения API. В списке настроенных разрешений приложение было назначено разрешение User.Read . Однако, поскольку клиент является внешним клиентом, пользователи-потребители сами не могут согласиться с этим разрешением. Вы, как администратор, должны предоставить это разрешение от имени всех пользователей в клиенте:
- Выберите "Предоставить согласие администратора" для <имени> клиента, а затем нажмите кнопку "Да".
- Выберите "Обновить", а затем убедитесь, что имя> клиента предоставлено <в разделе "Состояние" для обеих областей.
Создание потока пользователей
Выполните следующие действия, чтобы создать поток пользователя.
Войдите в Центр администрирования Microsoft Entra как минимум разработчик приложений.
Если у вас есть доступ к нескольким клиентам, убедитесь, что вы используете каталог, содержащий внешний клиент:
- Щелкните значок каталогов и подписок на панели инструментов.
- Параметры портала | Страница каталогов и подписок, найдите свой внешний каталог клиента в списке имен каталогов и нажмите кнопку "Переключить".
В меню боковой панели выберите "Удостоверение".
Выберите потоки пользователей внешних>удостоверений.
Выберите +Создать поток пользователя.
На странице создания:
Введите имя потока пользователя, например SignInSignUpSample.
В списке поставщиков удостоверений выберите учетные записи электронной почты. Этот поставщик удостоверений позволяет пользователям входить или регистрироваться с помощью своего адреса электронной почты.
В разделе "Учетные записи электронной почты" можно выбрать один из двух вариантов. В этом руководстве выберите одноразовый секретный код электронной почты.
- Электронная почта с паролем: позволяет новым пользователям регистрироваться и входить в систему с помощью адреса электронной почты в качестве имени входа и пароля в качестве их первых учетных данных фактора.
- Одноразовый секретный код электронной почты: позволяет новым пользователям регистрироваться и выполнять вход с помощью адреса электронной почты в качестве имени входа и однократного секретного кода электронной почты в качестве учетных данных первого фактора. Чтобы этот параметр был доступен на уровне потока пользователя, убедитесь, что вы включите одноразовый секретный код электронной почты (OTP) на уровне клиента (выберите все поставщики удостоверений, а затем для секретного кода электронной почты один раз выберите "Настроено", выберите "Да " и нажмите кнопку "Сохранить").
В разделе "Атрибуты пользователя" можно выбрать атрибуты, которые необходимо собрать от пользователя при регистрации. В этом руководстве выберите страну или регион и город.
Нажмите кнопку создания. Новый поток пользователя появится в списке Потоки пользователей. Если потребуется, обновите страницу.
Связывание приложения с потоком пользователя
Чтобы пользователи клиента видели возможность регистрации или входа при использовании приложения, необходимо связать приложение с потоком пользователя. Хотя многие приложения могут быть связаны с потоком пользователя, одно приложение может быть связано только с одним потоком пользователя.
В меню боковой панели выберите "Удостоверение".
Выберите внешние удостоверения, а затем потоки пользователей.
На странице "Потоки пользователей" выберите имя потока пользователя, созданное ранее, например SignInSignUpSample.
В разделе "Использование" выберите "Приложения".
Выберите Добавить приложение.
Выберите приложение из списка, например ciam-client-app или используйте поле поиска для поиска приложения, а затем выберите его.
Выберите Выбрать.
Связав приложение с потоком пользователей, вы можете протестировать поток пользователя, имитируя процесс регистрации или входа пользователя с приложением из Центра администрирования Microsoft Entra. Для этого выполните действия, описанные в разделе "Тестирование регистрации и входа в поток пользователя".
Клонирование примера мобильного приложения Android
Откройте терминал и перейдите в каталог, в котором требуется сохранить код.
Клонируйте приложение из GitHub, выполнив следующую команду:
git clone https://github.com/Azure-Samples/ms-identity-ciam-native-auth-android-sample
Настройка примера мобильного приложения Android
В Android Studio откройте клонируемый проект.
Откройте файл app/src/main/res/raw/native_auth_sample_app_config.json .
Найдите заполнитель:
Enter_the_Application_Id_Here
и замените его идентификатором приложения (клиента) зарегистрированного ранее приложения.Enter_the_Tenant_Subdomain_Here
и замените его поддоменом каталога (клиента). Например, если основной домен клиента — этоcontoso.onmicrosoft.com
, используйтеcontoso
. Если вы не знаете поддомен клиента, узнайте, как прочитать сведения о клиенте.
Теперь вы настроили приложение и готовы к выполнению.
Запуск и проверка примера мобильного приложения Android
Чтобы создать и запустить приложение, выполните следующие действия.
На панели инструментов выберите приложение в меню конфигураций запуска.
В меню целевого устройства выберите устройство, на которое вы хотите запустить приложение.
Если у вас нет устройств, необходимо создать виртуальное устройство Android для использования эмулятора Android или подключить физическое устройство Android.
Нажмите кнопку Запустить. Приложение открывает экран "Электронная почта" и "OTP ".
Введите допустимый адрес электронной почты и нажмите кнопку "Регистрация ". Приложение открывает экран отправки кода и получает код OTP в адресе электронной почты.
Введите код OTP, полученный в почтовом ящике, и нажмите кнопку "Далее". Если регистрация выполнена успешно, приложение автоматически выполняет вход. Если вы не получаете код OTP в папке "Входящие", его можно повторно отправить через некоторое время, выбрав секретный код повторной отправки.
Чтобы выйти, нажмите кнопку выхода.
Другие сценарии, поддерживаемые этим примером
Этот пример приложения также поддерживает следующие потоки проверки подлинности:
- Электронная почта + пароль охватывают потоки входа или регистрации с помощью электронной почты с паролем.
- Электронная почта + регистрация паролей с помощью атрибутов пользователя охватывает регистрацию с помощью электронной почты и пароля и отправки атрибутов пользователя.
- Сброс пароля охватывает самостоятельный сброс пароля (SSPR).
- Доступ к защищенному API охватывает вызов защищенного API после успешной регистрации или входа пользователя и получения маркера доступа.
- Резервная проверка подлинности в веб-браузере охватывает использование проверки подлинности на основе браузера в качестве резервного механизма, когда пользователь не сможет выполнить проверку подлинности через собственную проверку подлинности по какой-либо причине.
Тестирование электронной почты с помощью потока паролей
В этом разделе описано, как протестировать электронную почту с потоком паролей, используя такие варианты, как электронная почта с помощью регистрации паролей с атрибутами пользователя и SSPR:
Выполните действия, описанные в создании потока пользователя, чтобы создать новый поток пользователя, но на этот раз выберите "Электронная почта с паролем " в качестве метода проверки подлинности. Необходимо настроить страну или регион и город в качестве атрибутов пользователя. Кроме того, можно изменить существующий поток пользователя, чтобы использовать электронную почту с паролем (выберите> потоки пользователей>SignInSignUpSample>Identity providers>Email с сохранением пароля).>
Выполните действия, описанные в связывании приложения с новым потоком пользователя, чтобы добавить приложение в новый поток пользователя.
Запустите пример приложения, а затем выберите меню с многоточием (...), чтобы открыть дополнительные параметры.
Выберите сценарий, который требуется проверить, например электронная почта и пароль или электронная почта+ регистрация паролей с помощью атрибутов пользователя или сброс пароля, а затем следуйте инструкциям. Чтобы проверить сброс пароля, необходимо сначала зарегистрироваться пользователя и включить одноразовый секретный код электронной почты для всех пользователей в клиенте.
Тестирование вызова защищенного потока API
Выполните действия, описанные в разделе "Вызов защищенного веб-API" в примере мобильного приложения Android с помощью собственной проверки подлинности для вызова защищенного веб-API из примера мобильного приложения Android.