AWS Cognito对接Azure AD认证失败:“scope不存在”错误排查
AWS Cognito 与 Azure AD OpenID Connect 认证失败问题排查
错误信息
AADSTS650053: The application 'dev-aws-cognito' asked for scope 'openid email' that doesn't exist on the resource '00000003-0000-0000-c000-000000000000'. Contact the app vendor.
背景说明
00000003-0000-0000-c000-000000000000是Microsoft Graph的标准对象ID,错误发生在Microsoft登录流程中,已在Azure > Active Directory > App Registrations > dev-aws-cognito > API permissions配置相关权限,但问题仍未解决。
问题分析与解决方案
- 核心问题:请求的作用域格式错误,且资源指向了Microsoft Graph,但
openid是Azure AD自身的OIDC标准作用域,不属于Microsoft Graph资源。 - 修正步骤:
- 在AWS Cognito的Azure AD身份提供者配置中,将Resource字段设置为Azure AD应用注册的客户端ID,而非Microsoft Graph的对象ID。
- 调整请求的作用域为
openid email profile,这些是Azure AD OIDC原生支持的作用域,无需关联Microsoft Graph。 - 确认Azure AD应用注册的“身份验证”页面中,已启用ID令牌(在“高级设置”下),确保支持OpenID Connect流程。
- 若需获取Microsoft Graph数据,需单独发起针对Graph的请求,指定资源为
https://graph.microsoft.com,作用域使用Graph的权限(如User.Read),不能与OIDC的openid作用域混合在同一资源请求中。
内容的提问来源于stack exchange,提问作者Michael Böckling
相关产品推荐
相关产品推荐

