【发布时间】:2019-12-03 18:15:39
【问题描述】:
当我根据 [1] 和 [2] 在 Cygwin 中运行此命令时,我会返回一个 Access_Token:
curl -X POST -d 'grant_type=client_credentials&client_id=[myClientId]&client_secret=[myAppSecret]&scope=openid profile User.ReadWrite User.ReadBasic.All Sites.ReadWrite.All Contacts.ReadWrite People.Read Notes.ReadWrite.All Tasks.ReadWrite Mail.ReadWrite Files.ReadWrite.All Calendars.ReadWrite' https://login.microsoftonline.com/[myTenantId]/oauth2/token
当我稍后尝试在这个简单的查询中使用该 access_token 时,我收到一个错误:
访问令牌验证失败。无效的观众
curl -X GET -H "Authorization: Bearer [accessTokenFromPreviousCommand]" https://graph.microsoft.com/v1.0/me
如果我在 Microsoft Graph Explorer 中运行 https://graph.microsoft.com/v1.0/me 查询,它可以正常工作。我还可以使用 Internet 浏览器的 Network 选项卡来获取现有的 access_token 并在第二个 cURL 命令中使用该获取的令牌来获取预期结果;但是,我还没有弄清楚如何成功获取从第一个 cURL 命令返回的 access_token 并在第二个 cURL 命令中使用它。
我确实在内部与一位开发人员讨论过这个问题,他提到我在看 [2],但我还是有点困惑。
有人会告诉我我在上述两个 cURL 命令中做错了什么吗?
[1] - 毛里,戴维德
通过 cURL 调用 Azure REST API
Medium.com
2018年5月4日[在线]
https://medium.com/@mauridb/calling-azure-rest-api-via-curl-eb10a06127
[访问日期:2019 年 12 月 3 日]
[2] - 伍兹,杰克逊;格雷厄姆,劳拉;古兹曼,塞莱斯特;天使高尔夫球手;维克,瑞恩;以及未来可能的贡献者
Microsoft Graph 的身份验证和授权基础知识
Microsoft Docs - Microsoft Graph
2019年9月19日[在线]
https://docs.microsoft.com/en-us/graph/auth/auth-concepts
[访问日期:2019 年 12 月 3 日]
【问题讨论】:
-
看起来我在这里跳过了第 2 步:docs.microsoft.com/en-us/graph/auth-v2-user 如果有人在那之前没有回答,我希望明天能解释更多。