Spe*_*aur 17 oauth active-directory azure
我试图让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帖子的访问令牌(我正在使用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]
Run Code Online (Sandbox Code Playgroud)
我从POST请求中收到以下错误消息:
{"error":"invalid_grant","error_description":"AADSTS65001:用户或管理员未同意使用ID为"app-id"的应用程序.发送此用户和资源的交互式授权请求.\ r \nTrace ID:trace-di\r \n相关ID:correlation-id\r \n时间戳:2016-01-13 17:18:39Z","error_codes":[65001],"timestamp":"2016-01-13 17 :18:39Z", "trace_id的": "跟踪-ID", "CORRELATION_ID": "相关性标识"}
如果我清除我的缓存并发出授权代码的第一个请求,我将被重定向到登录.但是,登录后我没有任何方式来授权我的应用程序,就像它在我的文档中说的那样:
//azure.microsoft.com/en-us/documentation/articles/active-directory-integrating-applications/
我在这做错了什么?我正在尝试获取访问令牌.
Bra*_*ner 11
您遇到的问题是您用于访问应用程序的租户尚未将您的应用程序添加到受支持的应用程序列表中.它告诉您以管理员身份使用交互式流程.
同意是一个两步过程:
1)首先,租户的管理员必须批准该应用程序.这可以在1)希望使用该应用程序的租户的Azure门户中完成,或2)在您登录时启动应用程序并使用管理员凭据对应用程序.
Azure门户批准的示例:

2)其次,在管理员同意可以使用该应用程序后,在首次使用该应用程序时,任何其他用户(非管理员)将被提升为同意其个人信息.
| 归档时间: |
|
| 查看次数: |
23719 次 |
| 最近记录: |