调用/令牌时,AD B2C Access-Control-Allow-Origin

时间:2016-12-16 16:59:17

标签: angularjs oauth-2.0 cors azure-ad-b2c

所以我在OpenId Connect中使用azure ad-b2c。 到目前为止,我有一个angularjs应用程序,一切都在AD B2C上设置

我已经成功请求了id_token和代码,我现在正尝试按照https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-reference-oidc#get-a-token

为access_token兑换此授权码
postData = {
             grant_type: 'authorization_code',
             client_id: '<client_id>',
             code: data.code,
             redirect_uri: 'https://localhost:3000/',
             client_secret: '<client-secret>'
           };
 this.$http.post('https://login.microsoftonline.com/<myapp>/oauth2/v2.0/token?p=B2C_1_SiUpIn', postData)
                    .then((result: any) => {
                        console.log(result);
                    });

上面的代码显示了我如何发布帖子请求。 (我已经删除了机密部分)

当我检查Chrome控制台时,我看到对预检请求的响应未通过访问控制检查:请求的资源上没有“Access-Control-Allow-Origin”标头。因此,不允许原点“https://localhost:3000”访问。

是否可以为Azure AD B2C关闭此功能,或者在发布请求时我做错了什么。

欢迎任何建议。

由于

2 个答案:

答案 0 :(得分:0)

对于最后的记录,我发现在使用隐式流时我不需要请求访问令牌。

答案 1 :(得分:0)

你能分享一下如何使用angular来调用B2C身份验证挑战吗?我使用角度代码来调用MVC控制器(http.get(“Controller / Action”)来触发挑战。但是我得到了CORS错误 - 如上所述,“无访问控制允许源头”。