oauth-2.0 - Microsoft Graph Api ROPC - AADSTS65001
问题描述
我有与 MS Garaph Api 对话的 asp.net 核心 web api。我已经使用服务帐户实现了ROPC与 onedrive 对话。2 年前,我使用相同的服务帐户在MS Portal中创建了 MS graph Api 应用程序。该门户现已过时,该应用程序已移至 Azure 门户。但是我可以使用 ROPC 并使用 Graph api 来获取 Bearer 令牌,并且它运行良好。
现在我尝试模仿,我在 azure 门户中创建了一个具有相同凭据和相似元数据的新应用程序。服务帐户用户类型是 azure 门户中的成员。我收到新应用程序的以下错误
"error": "invalid_grant", "error_description": "AADSTS65001: 用户或管理员未同意使用 ID 的应用程序
任何想法,将不胜感激。
在此先感谢
Subbiah K
解决方案
首先,您需要是租户的管理员(如果您不是租户管理员,则不能授予管理员权限),您可以按照这里的流程设置用户角色。
然后按照此过程授予管理员对应用程序的同意:
1.以租户管理员身份登录https://portal.azure.com 。
2.在以下位置打开您的应用程序注册。
3.转到设置,然后是所需的权限。
4.按授予权限按钮。
在 Azure 门户中,我注册了应用程序进行测试并使用User.Read
权限来演示:
然后使用 postman 中的ROPC流程获取访问令牌:
推荐阅读
- php - 如何扩展 laravel 刀片指令@extends?
- kubernetes-helm - helm push to artifactory 总是抛出 404 错误,找不到 /api/artifactory/helm/charts
- karate - 有没有办法从 karate-config.js 调用包含可重用功能文件路径的变量?
- powershell - Create table with different output
- java - 为什么我的方法不能使用 (String arg, arg2) 而不是 (String arg, String arg2)?
- javascript - 在带有 angular 的 fuse.js 中,我们在哪里传递搜索到的字符串和选项?
- python - 为枚举创建值查找列表
- java - 使用 Apache POI 读取 excel 文件时出现 ClassCastException
- html - 如何创建从下方溢出的文本 div
- selenium - 从 selenium 中的 ag-grid 获取标头值