gpt4 book ai didi

azure - 使用 Azure AD 的 OAuth2 - 未获得用户同意

转载 作者:行者123 更新时间:2023-12-03 14:14:57 25 4
gpt4 key购买 nike

我正在尝试让 OAuth2 工作流在 Azure AD 中正确执行。我遵循此来源的指示:https://msdn.microsoft.com/en-us/library/azure/dn645542.aspx

我可以使用此请求成功获取授权码响应:https://login.microsoftonline.com/[app-endpoint-id]/oauth2/authorize?response_type=code&client_id=[client-id]&redirect_uri=[redirect-uri]

然后,我使用授权代码通过 http post 请求访问 token ,如下所示(我正在使用 Postman 进行测试):

POST /[app-endpoint-id]/oauth2/token HTTP/1.1 Host: login.microsoftonline.com Cache-Control: no-cache Postman-Token: ed098281-9aa4-6e5f-915d-0253d9a876d3 Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code&client_id=[client-id]&code=[authorization_code]&redirect_uri=[redirect_uri]&client_secret=[client-secret]&resource=[app-url]

我从 POST 请求中收到以下错误消息:

{"error":"invalid_grant","error_description":"AADSTS65001: The user or administrator has not consented to use the application with ID 'app-id'. Send an interactive authorization request for this user and resource.\r\nTrace ID: trace-di\r\nCorrelation ID: correlation-id\r\nTimestamp: 2016-01-13 17:18:39Z","error_codes":[65001],"timestamp":"2016-01-13 17:18:39Z","trace_id":"trace-id","correlation_id":"correlation-id"}

如果我清除缓存并首次请求授权代码,我将被重定向到登录。但是,我在登录后没有任何方法来授权我的应用程序,就像本文档中所说的那样:

//azure.microsoft.com/en-us/documentation/articles/active-directory-integrating-applications/

我在这里做错了什么?我正在尝试获取访问 token 。

最佳答案

您遇到的问题是您用来访问应用程序的租户尚未将您的应用程序添加到支持的应用程序列表中。它告诉您以管理员身份使用交互流程。

同意是一个两步过程:

1) 首先,租户的管理员必须批准该应用程序。这可以通过 1) 在希望使用该应用的租户的 Azure 门户中或 2) 启动该应用并在登录时使用该应用的管理员凭据来完成。

Azure 门户批准示例:


(来源:azurecomcdn.net)

2) 其次,在管理员同意可以使用该应用程序后,任何其他用户(非管理员)在首次使用该应用程序时都会同意其个人信息。

关于azure - 使用 Azure AD 的 OAuth2 - 未获得用户同意,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34775287/

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