排查代理身份验证问题

本文档介绍了如何解决常见的使用代理身份通过身份验证管理器进行身份验证错误。

重定向 URI 不匹配

如果您在 OAuth 流程中收到来自第三方应用的 redirect URI mismatch 错误,请确保在第三方开发者门户中注册的重定向 URI 与身份验证管理器生成的 URI 完全一致。

如需查找生成的重定向 URI,请在Google Cloud 控制台中查看身份验证提供方详细信息,或运行以下 gcloud 命令:

gcloud alpha agent-identity connectors describe AUTH_PROVIDER_NAME \
    --location="LOCATION"

缺少用户角色

如果您的代理无法使用身份验证提供方,请验证代理身份是否对身份验证提供方资源具有 roles/iamconnectors.user 角色。

发卡机构端点问题

对于 OIDC 提供方,请验证颁发者端点是否可公开访问,以及是否支持 .well-known/openid-configuration 发现文档。

如果 Google Cloud 无法提取 OIDC 元数据或 JWKS,请确保端点未位于防火墙或受限网络后面。

401 UNAUTHENTICATED 错误

如果您的代理无法进行身份验证,并且您看到以下错误,则可能是因为 Google 管理的情境感知访问权限政策强制执行 mTLS 绑定和 DPoP 加密证明:

{
  "error": {
    "code": 401,
    "message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
    "status": "UNAUTHENTICATED"
  }
}

如果您有特定的令牌共享要求,或者需要直接在标头中注入令牌,则可以选择不采用此默认的情境感知访问权限政策。如需选择不使用,请在部署代理时设置以下环境变量:

config={
  "env_vars": {
    "GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES": False,
  }
}

后续步骤