3

TL; DR - Есть ли простой способ показать пользовательскую политику регистрации Azure B2C в ионном приложении?Azure AD B2C Sign In On Cordova/Ionic App

В настоящее время я работаю над гибридным ионным приложением, которое должно использовать API-интерфейсы Azure AD B2C, чтобы показать пользовательскую страницу входа, определенную некоторыми сторонними разработчиками, с которыми я работаю.

Для этого я попытался использовать ADAL cordova plugin, но, насколько я могу судить, нет способа добавить пользовательскую политику для нового веб-представления. Я попытался добавить «p = B2C_1_sign-in-up-policy» в качестве опции extraQueryParameters в вызове purchaseTokenAsync(), но это дает мне MethodNotAllowedHttpException.

Я до сих пор не уверен, что/как ADAL относится к B2C, поэтому я переключился на попытку реализации Azure B2C Oauth 2.0. Это похоже на ошибку, потому что я делаю вручную то, что, по-видимому, делает плагин ADAL.

Есть ли какой-либо из них правильный вариант? Существует ли альтернативный подход к регистрации Azure AD B2C для ионных приложений?

Заранее спасибо

EDIT: Чтобы уточнить, у меня есть ADAL работать до того момента, когда по умолчанию Microsoft Web вид Логин От Адал выскакивает, но я хотел бы показать пользовательскую политику Azure B2C вместо этого. Это возможно?

EDIT 2: После использования параметров ADAL AuthenticationContext вызов azquireTokenAsnyc() больше не работает в политике. Параметры выглядят примерно так:

var authContextConstants = { 
     tenant: "[TENANT].onmicrosoft.com", 
     resourceUrl: "https://login.microsoftonline.com", 
     redirectUrl: "https://[REPLY_URL]", 
     clientId: "[AZURE_APP_ID]", 
     authority: this.resourceUrl + "/" + this.tenant, 
     extraQueryParams: { 
      response_mode: "form_post", 
      scope: "openid offline_access", 
      p: "B2C_1_[SIGN_IN_POLICY]" 
     } 
    }; 

Моя проблема теперь в том, что всплывающее окно webview, которое появляется, пуста. Я сумел проследить это вплоть до this ADAL source file (тестирование на Android), который использует «/ oauth2/авторизовать» вместо «oauth2/v2.0/авторизовать», как описано в B2C Oauth2 Docs

Представляется, что в настоящее время нет способ настроить его через плагин cordova, поскольку он жестко закодирован в исходных библиотеках - я снова застреваю ...

+0

Если вы просто хотите, чтобы FB и Google вошли в систему, у Ionic есть API для этого - например, Ionic.Auth.login ('google'). Почему вы хотите использовать ADAL? Вам нужна дополнительная возможность входа в систему O365? – andrew

+0

Я пытаюсь интегрировать вход Azure AD B2C в ионное приложение. Может быть, я это слишком ...? Должен ли я использовать что-то вроде [плагины плагинов Aerogear] (https://github.com/aerogear/aerogear-cordova-oauth2)? –

+0

Я предполагаю, что я действительно спрашиваю, как я могу сделать [Azure B2C Sign In] (https://azure.microsoft.com/en-us/documentation/articles/active-directory-b2c-overview/) работать в моем приложении? –

ответ

1

Выводит версии ADAL версии 0.7.1/0.7.2 Плагин cordova использует библиотеки ADAL, которые не соответствуют требованиям квитирования B2C/Oauth2, поэтому эти версии всегда терпят неудачу на разделе кода -> токена для конечных точек B2C.

Я раздвоенный плагин, чтобы сделать This ADAL plugin B2C Patch сейчас, пока плагин дэвы не обновлять Адал библиотеки плагина по

0

Использование ADAL Cordova Plugin Patch For B2C и angular-jwt, мы можем реализовать Azure AD B2C Вход О Кордова/Ионные App

+0

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