#android #react-native #azure-ad-b2c
#Android #react-native #azure-ad-b2c
Вопрос:
я хочу зарегистрировать это приложение react-native на моем Azure B2C с помощью функции аутентификации пользователей с помощью Azure AD B2C. (3-й вариант при выборе поддерживаемых типов учетных записей) затем я пытаюсь добавить Uri перенаправления с именем пакета и хэшем подписи, но получаю сообщение об ошибке: один или несколько URL-адресов вашего ответа недопустимы.
если я зарегистрирую это как организационное приложение, оно будет работать нормально. может ли кто-нибудь дать мне ориентировку по этому поводу? почему я не могу добавить такого рода приложения в B2C? или что я делаю не так?
Ответ №1:
По сути, опция добавления IOS / Android — это быстрый старт для обеспечения интеграции Microsoft Authenticator. Но у него есть некоторые ограничения, имя пакета используется для генерации URL-адреса ответа, в вашем случае он создает что-то, что AAD не нравится.
Поскольку AAD B2C не поддерживает MS Authenticator, просто используйте универсальную платформу для мобильных / настольных компьютеров и укажите любой uri перенаправления, который вы хотите.
Ответ №2:
Собственные клиентские ресурсы должны быть зарегистрированы в вашем клиенте, прежде чем ваше приложение сможет взаимодействовать с Azure Active Directory B2C.
- Войдите на портал Azure.
- Выберите фильтр Каталог подписка в верхнем меню, а затем выберите каталог, содержащий вашего клиента Azure AD B2C.
- В левом меню выберите Azure AD B2C. Или выберите Все службы, выполните поиск и выберите Azure AD B2C.
- Выберите регистрации приложений, а затем выберите новую регистрацию.
- Введите имя для приложения. Например, nativeapp1.
- В разделе Поддерживаемые типы учетных записей выберите учетные записи в любом организационном каталоге или у любого поставщика удостоверений.
- Нажмите «Добавить платформу». Выберите мобильные и настольные приложения.
- Введите URI перенаправления с уникальной схемой. Например, com.onmicrosoft.contosob2c.exampleapp://oauth/перенаправление. При выборе URI перенаправления следует учитывать важные соображения:
- Разработка Для использования в процессе разработки вы можете установить URI перенаправления на http://localhost и Azure AD B2C будет учитывать любой порт в запросе. Если зарегистрированный URI содержит порт, Azure AD B2C будет использовать только этот порт. Например, если зарегистрированный URI перенаправления равен http://localhost URI перенаправления в запросе может быть http://localhost :. Если зарегистрированный URI перенаправления равен http://localhost:8080 URI перенаправления в запросе должен быть http://localhost:8080 .
- Уникальный: Схема URI перенаправления должна быть уникальной для каждого приложения. В примере com.onmicrosoft.contosob2c.exampleapp://oauth/redirect, com.onmicrosoft.contosob2c.exampleapp является схемой. Этот шаблон следует соблюдать. Если два приложения используют одну и ту же схему, пользователю предоставляется выбор для выбора приложения. Если пользователь выбирает неправильно, вход завершается с ошибкой.
- Завершено: URI перенаправления должен содержать как схему, так и путь. Путь должен содержать хотя бы одну косую черту после домена. Например, //oauth/ работает, когда //oauth завершается с ошибкой. Не включайте специальные символы в URI, например, подчеркивания.
- В разделе Разрешения установите флажок Предоставить согласие администратора на
openid
иoffline_access
разрешения. - Выберите зарегистрироваться.
Для получения дополнительной информации вы можете посетить здесь.
Комментарии:
1. Спасибо, что вы очень подробно объяснили, как повторно использовать мобильные и настольные приложения. НО я не понимаю, что вы имеете в виду, говоря «Собственные клиентские ресурсы должны быть зарегистрированы в вашем клиенте, прежде чем ваше приложение сможет взаимодействовать с Azure Active Directory B2C» — я пытаюсь войти с помощью приложения React native в приложение, зарегистрированное в Azure.
2. Хорошо, вы пробовали другие шаги?
3. У меня есть несколько вариантов приложения для Android, когда я вхожу в одно приложение, оно спрашивает меня, в какое приложение мне нужно войти, и логин работает, но после входа в первое приложение я не могу войти. на другой, поскольку он перенаправляет меня на предыдущее приложение, возможно ли использовать тот же URL-адрес для другого приложения, я просто изменил схему URL-адресов в IOS, и это работает, но в Android это не позволяет мне изменить URL-адрес перенаправления