Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure AD B2C登录Cordova/Ionic应用程序_Cordova_Ionic Framework_Adal_Azure Ad B2c_Azure Active Directory - Fatal编程技术网

Azure AD B2C登录Cordova/Ionic应用程序

Azure AD B2C登录Cordova/Ionic应用程序,cordova,ionic-framework,adal,azure-ad-b2c,azure-active-directory,Cordova,Ionic Framework,Adal,Azure Ad B2c,Azure Active Directory,TL;DR-有没有一种简单的方法可以在ionic应用程序上显示自定义Azure B2C注册策略 我目前正在开发一个混合的ionic应用程序,它需要使用Azure AD B2C API来显示由我使用的一些后端开发人员定义的自定义登录页面 我已经尝试使用了,但据我所知,没有办法为新的web视图添加自定义策略。我尝试在acquireTokenAsync()调用中添加“p=B2C\u 1\u登录策略”作为extraQueryParameters选项,但这给了我一个错误 我仍然不确定ADAL是否/如何与B

TL;DR-有没有一种简单的方法可以在ionic应用程序上显示自定义Azure B2C注册策略

我目前正在开发一个混合的ionic应用程序,它需要使用Azure AD B2C API来显示由我使用的一些后端开发人员定义的自定义登录页面

我已经尝试使用了,但据我所知,没有办法为新的web视图添加自定义策略。我尝试在acquireTokenAsync()调用中添加“p=B2C\u 1\u登录策略”作为extraQueryParameters选项,但这给了我一个错误

我仍然不确定ADAL是否/如何与B2C相关,因此我转而直接尝试实现。这似乎是一个错误,因为我正在手动执行ADAL插件似乎已经在执行的操作

这两个选项中有一个是正确的吗?对于ionic应用程序,是否存在Azure AD B2C登录的替代方法

提前谢谢

编辑:为了澄清这一点,我让ADAL一直工作到弹出来自ADAL的默认microsoft web view登录,但我想显示一个自定义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]"
        }
    };
我现在的问题是弹出的webview覆盖显示为空白。我已经设法追踪到(android上的测试),它使用“/oauth2/authorize”而不是“oauth2/v2.0/authorize”,如


似乎目前还没有办法通过cordova插件来定制它,因为它在源代码库中是硬编码的-我现在又被卡住了…

原来ADAL cordova插件的0.7.1/0.7.2-dev版本使用的ADAL库不符合B2C握手/Oauth2要求,因此,这些版本在B2C端点的代码->令牌部分总是失败


我现在已经开发了这个插件,直到插件开发人员使用和更新插件的ADAL库,我们可以在Cordova/Ionic应用程序上实现Azure AD B2C登录,如果你只需要FB和Google登录,Ionic就有API——例如,Ionic.Auth.login('Google')。你为什么要使用ADAL?你想要额外的O365登录功能吗?我正在尝试将Azure AD B2C登录集成到ionic应用程序中。也许我把它复杂化了。。。?我应该使用这样的东西吗?我想我真正想问的是,我该如何在我的应用程序中工作?小心这个path版本,它有一些bug,并且随机用户没有登录。这个补丁是否适用于新的iOS、android和cordova/ionic版本?