Jos*_* N. 5 cordova azure-active-directory adal ionic-framework azure-ad-b2c
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插件自定义这个,因为它在源库中是硬编码的 - 我现在再次陷入困境......
事实证明,ADAL cordova 插件的 0.7.1 / 0.7.2-dev 版本使用的 ADAL 库不满足 B2C 握手/Oauth2 要求,因此这些版本始终在 B2C 端点的代码 -> 令牌部分失败。
我暂时分叉了该插件以制作此 ADAL 插件 B2C 补丁,直到插件开发人员更新插件的 ADAL 库
| 归档时间: |
|
| 查看次数: |
2118 次 |
| 最近记录: |