Azure Rest API遭遇AuthorizationFailed及invalid_request错误求助
问题解决方案
API 1:AuthorizationFailed 错误处理
该错误是客户端身份缺少对应权限或请求范围无效导致的,处理步骤:
- 登录Azure门户,定位到目标订阅,进入**访问控制(IAM)**页面
- 新增角色分配:选择包含
Microsoft.Web/sites/read权限的角色(如「读者」角色),将权限授予报错信息中指定的客户端对象ID - 验证获取Token时的
scope参数:针对Azure管理API,正确的scope应为https://management.azure.com/.default - 若刚完成权限分配,等待5-10分钟让权限同步生效后,重新获取Token并调用接口
错误信息参考:
{ "error": { "code": "AuthorizationFailed", "message": "The client '**************' with object id '**************' does not have authorization to perform action 'Microsoft.Web/sites/read' over scope '/subscriptions/**************' or the scope is invalid. If access was recently granted, please refresh your credentials." } }
API 2:invalid_request(AADSTS901002)错误处理
该错误是因为使用Azure AD v2.0令牌端点时,传入了不被支持的resource参数,v2.0端点要求使用scope参数替代:
- 移除请求中的
resource参数,添加scope参数,值设置为目标API的权限范围,例如:- 调用Microsoft Graph API:
https://graph.microsoft.com/.default - 调用Azure管理API:
https://management.azure.com/.default
- 调用Microsoft Graph API:
- 确认请求的令牌端点为v2.0版本:
https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/token
错误信息参考:
{ "error": "invalid_request", "error_description": "AADSTS901002: The 'resource' request parameter is not supported. Trace ID: ************ Correlation ID: ************ Timestamp: 2023-12-28 07:17:52Z", "error_codes": [ 901002 ], "timestamp": "2023-12-28 07:17:52Z", "trace_id": "************", "correlation_id": "************" }
内容的提问来源于stack exchange,提问作者Rishabh
相关产品推荐
相关产品推荐

