TL; DR - 是否有一种简单的方法可以在离子应用程序上显示自定义Azure B2C注册策略?
我目前正在开发一个混合离子应用程序,它需要使用Azure AD B2C API来显示由我使用的一些后端开发人员定义的自定义登录页面.
我已经尝试过使用ADAL cordova插件,但据我所知,没有办法为新的Web视图添加自定义策略.我尝试在acquireTokenAsync()调用中添加"p = B2C_1_sign-in-up-policy"作为extraQueryParameters选项,但这给了我一个MethodNotAllowedHttpException.
我仍然不确定ADAL是否/如何与B2C相关,所以我转而直接尝试Azure B2C Oauth 2.0实现.这似乎是一个错误,因为我正在手动执行ADAL插件已经在做什么.
这些都是正确的选择吗?是否有针对离子应用程序的Azure AD B2C登录的替代方法?
提前致谢
编辑:为了澄清,我有ADAL正在努力突然从ADAL登录默认的Microsoft Web视图,但我想显示一个自定义的Azure B2C策略来代替这个.这可能吗?
编辑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]"
}
};
Run Code Online (Sandbox Code Playgroud)
我现在的问题是弹出的webview叠加层显示为空白.我设法跟踪这个ADAL源文件(在android上测试),它使用"/ oauth2/authorize"而不是"oauth2/v2.0/authorize",如B2C Oauth2 Docs所述
似乎目前没有办法通过cordova插件自定义这个,因为它在源库中是硬编码的 - 我现在再次陷入困境......
cordova azure-active-directory adal ionic-framework azure-ad-b2c