OpenID 连接成功响应在重定向 uri 和访问令牌之间有#

OpenID connect Successful response has # between redirect uri and access token

我已经使用 JWT 在 Azure Ad for Oauth 2.0 中设置了一个应用程序,成功返回了访问令牌,但是 url 在重定向 URL 和 access_token。应用程序需要一个问号 (?) 来完成符号,所以如果我将 # 替换为 ?在地址栏上,签名过程完成。

有没有办法从 Azure 应用程序注册本身执行此操作,以便返回带有 ?代替 #?还是我应该以不同的方式发送请求?

请求如下

https://login.microsoftonline.com/<tenant>/oauth2/v2.0/authorize?client_id=<client_id>&response_type=token&redirect_uri=<url_encoded_redirect_uri>&scope=<scope>&response_mode=fragment&state=12345&nonce=678910

在请求中,response_mode 必须是 form_post 而不是片段。这解决了问题

https://login.microsoftonline.com/<tenant>/oauth2/v2.0/authorize?client_id=<client_id>&response_type=token&redirect_uri=<url_encoded_redirect_uri>&scope=<scope>&response_mode=form_post&state=12345&nonce=678910

参考 - https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-protocols-oidc#send-the-sign-in-request