所以我在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关闭此功能,或者在发布请求时我做错了什么。
欢迎任何建议。
由于
答案 0 :(得分:0)
对于最后的记录,我发现在使用隐式流时我不需要请求访问令牌。
答案 1 :(得分:0)
你能分享一下如何使用angular来调用B2C身份验证挑战吗?我使用角度代码来调用MVC控制器(http.get(“Controller / Action”)来触发挑战。但是我得到了CORS错误 - 如上所述,“无访问控制允许源头”。