AppAuth with Azure AD B2C

Refresh

December 2018

Views

823 time

6

I have configured a B2C service in Azure AD and included Google as an authentication provider only to find that Google disallows authentication requests through an embedded web view. Then I found AppAuth but I'm having much difficulty getting the sample iOS app working.

The issue I'm having is related to the redirect uri. Using the AAD provided redirect uri for native apps results in an error in Safari Mobile. I attempted to add a custom redirect uri that will redirect to my iOS app but can't because it fails validation in the azure ad configuration since it is not in the https url scheme.

Is it possible to use AppAuth with Azure AD B2C? Is there some way to configure this properly or does it require changes on MS side?

EDIT

I have Azure AD B2C setup and working including the Google account login. This works as expected in a web browser, however when I try to log in to Google from iOS using an embedded webview I get disallowed_useragent. Researching this I came across the AppAuth library that I believe is the secure solution of choice except for the fact that it doesn't work with B2C due to redirect issues, or at least I haven't found a way to make this work.

I expect that I need to be able to supply a redirect URL in B2C that is unique to my app on iOS so that the SFSafariViewController can redirect back to my app. Using the web configuration in B2C seems to be the right approach but it requires using the https instead of a custom scheme.

Is there a way to configure B2C for a custom redirect URI?

2 answers

0

Azure AD B2C поддерживает веб-приложение, мобильные приложения, такие как прошивка и Android, и Native приложений.

Для того, чтобы интегрировать аккаунты Google с Azure AD B2C, вам нужно перейти на Google Developers Console для создания приложения. А затем настроить Google в качестве поставщика удостоверений в Azure AD B2C. Пожалуйста, обратитесь к следующей ссылке для получения более подробной информации.

https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-setup-goog-app

Затем вам необходимо зарегистрировать приложение с Azure AD B2C арендатора. Если приложение является мобильным или родным приложением, например прошивка, вы можете выбрать его как Native Client с указанным Redirect URI для конфигурации. Вы можете сослаться на ссылку ниже для регистрации заявки.

введите описание изображения здесь

Чтобы включить знак-в на вашем приложении, вы также должны создать вход в политике. Эта политика описывает события, которые потребители будут проходить во время входа в систему и содержание маркеров, что приложение будет получать на успешных оповещении. Для получения более подробной информации, пожалуйста, обратитесь к ссылке ниже.

https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-reference-policies

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

https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-devquickstarts-ios

2

Я ведущий хранитель AppAuth.

В Microsoft в настоящее время ограничивает перенаправление URI схему к протоколу HTTPS, у вас есть два варианта на прошивке:

  1. Настройка универсальной связи для вашего приложения, так что он зарегистрирован с операционной системой для обработки запросов к определенному домену по протоколу HTTPS. Это самый безопасный вариант, поскольку он предотвращает любые другие приложения на устройстве от попыток зарегистрировать тот же канал. Тем не менее, эта опция доступна только на прошивке 9+.

  2. Создать промежуточную страницу , которая фиксирует параметры отклика авторизации, а затем направляет их к пользовательской схеме URI. Я поддерживать Android демо делать это, которая включает в себя интеграцию Microsoft, здесь . Посредник страница делает, к сожалению, требуется дополнительный щелчок от пользователя.