繁体   English   中英

在Azure AD B2C中获得令牌时发生CORS问题(隐式流)

[英]CORS issue when getting a token in Azure AD B2C (Implict Flow)

我们正在尝试使用隐式流程通过Web应用程序实现Azure AD B2C身份验证。 我们可以登录并成功重定向到正确的URL,其中包括重定向URL上的正确项目(id_token&code)。 但是,正如本文所建议的那样( https://github.com/Azure/azure-content/blob/master/articles/active-directory-b2c/active-directory-b2c-reference-oidc.md#get-a-token ),则该应用程序需要对令牌端点执行xhr POST请求,以检索该应用程序需要与之交互的资源(网络api)的令牌。 但是,当我尝试对该令牌端点进行XHR POST( https://login.microsoftonline.com/ {tenant} /oauth2/v2.0/token?p=b2c_1_signinpolicy)时,浏览器(正确地)执行预检检查(一个OPTIONS调用)以确定它是否可以像在其他域上一样调用该终结点。 OPTION调用有效,但是它不包含浏览器允许对端点的POST调用所需的标头(Access-Control-Allow-Origin)。

我是否缺少某些东西或做错了什么?

任何帮助表示赞赏!

乔恩

Azure AD身份验证终结点(B2C或其他)不支持CORS,也不支持。

对于Javascript应用程序,我们使用带有response_type=tokenresponse_type=id_token的隐式流程直接从授权端点获取令牌-无需CORS。 随时尝试,它应该可以正常工作。

我们之所以说现在不支持Javascript应用,是因为一小时后,您使用此方法获得的id_token / access_token将过期。 而且,我们没有办法以静默方式刷新/获取新令牌。 这意味着在最佳情况下,您的Javascript应用程序将不得不每小时重定向到AAD。

我们认为这是不可接受的,因此我们正在开发一种可以解决此问题的功能。 但是目前,我们将继续称不支持Javascript应用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM