2016-12-16 104 views
0

因此,我使用的是带有OpenId Connect的azure ad-b2c。 到目前为止,我有一个angularjs应用程序,一切都建立在AD B2CAD B2C访问控制 - 允许 - 调用/令牌时的来源

我已成功申请并id_token和代码,我现在正在努力兑现此授权代码的的access_token按https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-reference-oidc#get-a-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); 
        }); 

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

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

是否可以关闭Azure AD B2C或发布请求时发生错误。

欢迎任何建议。

感谢

回答

0

至于到底记录,我发现我并不需要使用隐式流时请求访问令牌。

0

您可以分享您如何使用angular来调用B2C身份验证挑战吗?我使用角码来调用MVC控制器(http.get(“控制器/动作”),它触发了这个挑战。但是我得到了CORS错误 - 如上所述,“没有访问控制允许源标头”。

+0

我不是使用B2C,转而使用Auth0,但是当我使用它时,我没有手动发送请求。我使用的是AngularJS的Satellizer模块 – lkbrandbank

相关问题