gpt4 book ai didi

oauth-2.0 - Microsoft id_token 声明中缺少 OID 声明

转载 作者:行者123 更新时间:2023-12-02 20:30:53 26 4
gpt4 key购买 nike

我正在使用几个在 apps.dev.microsoft.com 创建的应用程序。我使用的身份验证 URL 是

https: //login.microsoftonline.com/common/oauth2/v2.0/authorize?
client_id={client_id}
&redirect_uri={redirect_uri}
&response_type=code id_token
&state=state
&nonce=c7a966a3-d63d-4348-8ab8-bd445b0e9bb1
&response_mode=form_post
&scope=openid email profile https://graph.microsoft.com/user.readBasic.all

在我的用例中,我正在捕获 tidoidisssub... 声明来自 id_token 声明。

对于我的一个应用程序,对于某些用户,id_token 中缺少 oid 声明。但我可以获取其他应用程序,并且我认为创建应用程序没有任何区别。

哪些原因可能导致 oid 声明丢失?

我正在使用的范围:openid email user.read

最佳答案

仅当请求范围 profile 时才会返回 oid 声明。

来自documentation :

Because the oid allows multiple apps to correlate users, the profile scope is required in order to receive this claim.

对于您没有收到 oid 声明的用户,请检查 token 以确保 profile 范围存在。如果不存在(并且您已确认已请求),则可以通过将 &prompt=consent 添加到身份验证 URI 的末尾来强制刷新该 token 的范围。这将迫使用户重新同意范围并确保您没有获得缓存的 token 。

关于oauth-2.0 - Microsoft id_token 声明中缺少 OID 声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48786606/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com