Portainer CE v2.9.3对接Azure AD OAuth2认证配置报错求助
Portainer CE v2.9.3 对接Azure AD OAuth2 配置方案
错误根因
你遇到的Invalid audience报错,核心是令牌的受众(aud)与Portainer调用Microsoft Graph用户信息接口要求的受众不匹配,同时现有配置存在多处字段填写错误。
前置Azure AD应用配置
先完成Azure AD侧的应用注册操作:
- 进入Azure AD的「应用注册」页,新建注册,帐户类型选择「仅限组织目录中的帐户」,重定向URI类型选Web,值填写
https://<你的Portainer访问地址>/#!/oauth - 进入注册完成的应用,在「API权限」页添加
openid、profile、email三个委派权限,点击「授予管理员同意」完成权限授权 - 进入「证书和密码」页,新建客户端密码,保存生成的密码值
Portainer Custom OAuth2 字段正确配置
Client ID:填写Azure AD应用的应用程序(客户端) ID,不要填写租户IDClient secret:填写Azure AD中生成的客户端密钥Authorization URL:https://login.microsoftonline.com/<你的Azure AD租户ID>/oauth2/v2.0/authorizeAccess token URL:https://login.microsoftonline.com/<你的Azure AD租户ID>/oauth2/v2.0/tokenResource URL:https://graph.microsoft.com/oidc/userinfoRedirect URL:和Azure AD中填写的重定向URI保持一致,必须带后缀/#!/oauthLogout URL:https://login.microsoftonline.com/<你的Azure AD租户ID>/oauth2/v2.0/logout?post_logout_redirect_uri=<你的Portainer访问地址>User identifier:emailScopes:openid profile email
验证注意事项
- 配置完成后重启Portainer容器,清除旧配置缓存
- 若仍有报错,可将获取到的access token粘贴到jwt.io解析,确认
aud字段值为https://graph.microsoft.com即为正确 - 确认Azure AD侧没有条件访问策略拦截Portainer的登录请求
内容的提问来源于stack exchange,提问作者jp1
相关产品推荐
相关产品推荐

