我已在Azure AD中注册应用程序。我正在尝试获取Azure SQL数据库的访问令牌。
我将请求发送到https://login.microsoftonline.com/mytenant/oauth2/v2.0/token
但我得到了下面的错误作为回应。
AADSTS65001: The user or administrator has not consented to use the application with ID
字符串
身份验证请求有问题吗?或者我缺少任何权限?如果是如何设置这些权限?我不知道出了什么问题。
有人能帮我解决这个错误吗?
3条答案
按热度按时间7kqas0il1#
最初请与您的管理员检查,以检查他/她是否已同意的请求。
请确保给予访问应用程序所需的基本权限,并在门户网站中授予同意。或者确保管理员已同意。
x1c 0d1x的数据
另请参阅aadsts65001并检查是否在V2端点的请求中添加了范围参数。
查看您是否需要具有目录读取器角色才能访问Azure SQL数据库(如果不要求管理员提供相同的权限),或者也可以选择目录.读取.所有权限来自API权限如上所述。
e4eetjau2#
授权的权限(委派或应用程序类型)需要管理员同意。如果您知道目录ID和应用程序(客户端)ID,则可以将同意链接发送给可以授予同意的管理员(具有全局管理员角色)-https://login.microsoftonline.com/[your-azure-ad-directory-id]/adminconsent?client_id=[your-client-id]
只需替换目录ID和客户端ID!
fykwrbwg3#
这可能不是100%相关的,但我在使用一个应用程序从一个
refresh_token
获取一个更新的access_token
时遇到了同样的问题,该外部用户不属于租户域。在浪费了大量的时间试图弄清楚同意和权限后,我意识到我调用了错误的端点。所以使用
字符串
给了我AADSTS65001错误。我终于意识到(对于不属于与应用程序相关联的租户的用户)我需要使用
型
结束点。
感兴趣的人的完整代码:
型