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, поскольку он жестко закодирован в исходных библиотеках - я снова застреваю ...
Если вы просто хотите, чтобы FB и Google вошли в систему, у Ionic есть API для этого - например, Ionic.Auth.login ('google'). Почему вы хотите использовать ADAL? Вам нужна дополнительная возможность входа в систему O365? – andrew
Я пытаюсь интегрировать вход Azure AD B2C в ионное приложение. Может быть, я это слишком ...? Должен ли я использовать что-то вроде [плагины плагинов Aerogear] (https://github.com/aerogear/aerogear-cordova-oauth2)? –
Я предполагаю, что я действительно спрашиваю, как я могу сделать [Azure B2C Sign In] (https://azure.microsoft.com/en-us/documentation/articles/active-directory-b2c-overview/) работать в моем приложении? –