当前位置:  开发笔记 > 编程语言 > 正文

在Azure AD B2C中获取令牌时的CORS问题(Implict Flow)

如何解决《在AzureADB2C中获取令牌时的CORS问题(ImplictFlow)》经验,为你挑选了1个好方法。

我们正尝试使用implict流程实现Azure AD B2C身份验证.我们可以登录并成功重定向到正确的网址,其中包含重定向网址(id_token和代码)上的正确项目.然而,正如本文建议(https://github.com/Azure/azure-content/blob/master/articles/active-directory-b2c/active-directory-b2c-reference-oidc.md#get-a-token然后,应用程序需要对令牌端点执行xhr POST请求,以检索应用程序需要与之交互的资源(web api)的令牌.然而,当我尝试做一个XHR POST到令牌端点(https://login.microsoftonline.com/ {}租户/oauth2/v2.0/token?p=b2c_1_signinpolicy)浏览器(相当正确地)执行预检检查(OPTIONS调用)以确定它是否可以调用端点,因为它位于不同的域上.OPTION调用有效,但它不包含浏览器允许POST调用端点所需的头文件(Access-Control-Allow-Origin).

我错过了什么或做错了什么?

任何帮助赞赏!

乔恩



1> dstrockis..:

Azure AD身份验证端点(B2C或其他)不支持CORS,也不支持CORS.

对于Javascript应用程序,我们使用隐式流与response_type=tokenresponse_type=id_token直接从授权端点获取令牌 - 无需CORS.随意尝试一下,它应该工作得很好.

我们之前说Javascript应用程序不受支持的原因是因为一小时之后,使用此方法的id_token/access_token将过期.我们没有办法静默刷新/获取新令牌.这意味着在最好的情况下,您的Javascript应用程序必须每小时重定向到AAD.

我们认为这不可接受,所以我们正在开发一个可以解决这个问题的功能.但是现在我们将继续调用不受支持的Javascript应用程序.

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有