You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置pgAdmin4通过Azure AD OAuth2登录遇scope错误求助

解决pgAdmin4 Azure AD OAuth2登录的Scope错误问题

错误原因

错误提示AADSTS70011明确说明:

  • 请求必须包含scope参数
  • 当前scope无效,且必须包含openid scope(这是Azure AD OpenID Connect流程的强制要求)
  • 你的pgAdmin4配置未显式指定正确的scope参数,导致默认scope不符合Azure AD的规则

有效Scope的获取与配置

1. 标准必填与可选Scope

Azure AD针对OpenID Connect提供的通用有效Scope无需额外创建,直接使用即可:

  • openid:必填,启用OpenID Connect流程,用于获取ID Token
  • profile:可选,获取用户基本资料(姓名、头像等)
  • email:可选,获取用户邮箱地址

2. 修改pgAdmin4配置

在config_local.py的OAUTH2_CONFIG字典中添加OAUTH2_SCOPE参数,同时修正两处配置错误:

  • 修正OAUTH2_API_BASE_URL为Graph API地址(用户信息通过Graph API获取)
  • 修正OAUTH2_USERINFO_ENDPOINT为Graph API的用户端点

修改后的配置片段:

OAUTH2_CONFIG = [
  {
      'OAUTH2_NAME': 'azure',
      'OAUTH2_DISPLAY_NAME': 'azure',
      'OAUTH2_CLIENT_ID': '你的应用客户端ID',
      'OAUTH2_CLIENT_SECRET': '你的应用密钥',
      'OAUTH2_TOKEN_URL': 'https://login.microsoftonline.com/{TENANT_ID}/oauth2/v2.0/token',
      'OAUTH2_AUTHORIZATION_URL': 'https://login.microsoftonline.com/{TENANT_ID}/oauth2/v2.0/authorize',
      'OAUTH2_API_BASE_URL': 'https://graph.microsoft.com/v1.0/',  # 修正此处
      'OAUTH2_USERINFO_ENDPOINT': 'me',  # 修正此处
      'OAUTH2_SCOPE': ['openid', 'profile', 'email'],  # 添加Scope参数
      'OAUTH2_BUTTON_COLOR': '#0000ff',
  }
]

3. 验证Azure AD应用配置

确保你的Azure AD应用注册中:

  • 在API权限页面已添加Microsoft Graph的User.Read权限(对应profile和email scope,用于获取用户信息)
  • 该权限已完成租户内的授权操作

配置生效

修改配置后重启pgAdmin4服务,再次尝试Azure AD登录即可。

内容的提问来源于stack exchange,提问作者Frendom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 18:39:20