gpt4 book ai didi

python - Oauth2 身份验证 token 包含 Azure 应用程序 ID 的 OID,而不是用户 ID

转载 作者:行者123 更新时间:2023-12-03 02:15:45 26 4
gpt4 key购买 nike

我正在编写一个使用 Oatuh2 实现 SSO 的应用程序。 Azure AD 是 IDP。

向 Azure AD token 端点提交发布请求后,收到的 token 包含 Azure AD 应用程序 ID,而不是用户 ID。发帖https://login.microsoftonline.com/{tenant id}/oauth2/v2.0/token

post请求内容如下:

headers = {'Content-Type': 'application/x-www-form-urlencoded', 'Accept-Charset': 'UTF-8'}
data = {"grant_type": "client_credentials",
"client_id": self.client_id,
"client_secret": '****',
"redirect_uri": 'https://login.microsoftonline.com/common/oauth2/nativeclient',
"code": self.code,
"scope": 'api://{applicationID}/.default openid email'
}

我假设端点使用正确,或者 post 请求中使用的 ID 不正确,但它们在我看来都是正确的。

最佳答案

您正在使用客户端凭据授予类型,该类型用于识别应用程序,而不是用户。您应该使用 authorization_code 授权类型来用代码交换用户的 token 。

使用客户端凭据,您获得带有应用程序 ID 的 token 是正确的,这就是它应该如何工作。

关于python - Oauth2 身份验证 token 包含 Azure 应用程序 ID 的 OID,而不是用户 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71165217/

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