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

Google OAuth 2.0令牌交换合规错误排查求助

Google OAuth 2.0集成Gmail API:授权码换令牌时的合规错误排查

我正在为Gmail API应用集成Google OAuth 2.0,遇到了无法解决的问题(下文mydomain代表实际域名):

获取授权码的请求URL

https://accounts.google.com/o/oauth2/v2/auth?client_id=7037-5863r8r.apps.googleusercontent.com&redirect_uri=https%3A%2F%2Fapi.mydomain.com%2Fapi%2Foauth%2Fcallback&scope=profile%20email&response_type=code&access_type=offline

访问该URL后,能成功登录并在回调端点收到授权码,但用以下cURL命令交换授权码获取访问令牌时出现错误:

交换令牌的cURL命令

curl -v -X POST https://oauth2.googleapis.com/token ^
-d "code=<AUTH_CODE>" ^
-d "client_id=<CLIENT_ID>" ^
-d "client_secret=<CLIENT_SECRET>" ^
-d "redirect_uri=https%3A%2F%2Fapi.mydomain.com%2Fapi%2Foauth%2Fcallback" ^
-d "grant_type=authorization_code"

收到的错误信息

{
 "error": "invalid_request",
 "error_description": "\nYou can’t sign in to this app because it doesn’t comply with Google’s        OAuth 2.0 policy for keeping apps secure.\n\nYou can let the app developer know that this app doesn’t comply with one or more Google validation rules.\n"
}

我已完成的配置:

  • 应用处于测试模式且设置为外部
  • 已添加本人及其他用户为测试用户
  • 尝试过移除受限范围,仅保留非敏感范围
  • OAuth同意屏幕已完整配置授权域名和redirect URI
  • api.mydomain.com到Azure函数应用的DNS设置与重定向正常
  • Google Cloud Console中已配置mydomain.com为授权域名及对应redirect URI

疑问

该错误是否与未注意到的Google合规检查有关?测试模式下仅使用测试用户是否仍需提交应用审核?


解答

  1. 测试模式无需提交审核:测试模式下,仅使用已添加的测试用户进行授权时,不需要提交应用审核,这个错误和审核无关,是配置细节不符合Google OAuth安全规范导致的。

  2. 核心排查点:

    • 重定向URI完全匹配:检查授权码请求和令牌请求中的redirect_uri是否完全一致。Google要求两个请求的redirect_uri必须丝毫不差,包括是否URL编码、路径大小写、末尾是否带斜杠等。建议将令牌请求中的redirect_uri改为未编码的原始值(即https://api.mydomain.com/api/oauth/callback)再尝试,部分场景下编码后的URI可能匹配失败。
    • 授权码有效性:授权码只能使用一次,若重复使用会触发错误,确保你使用的是刚获取的新鲜授权码。
    • 客户端密钥准确性:确认client_secret没有复制错误,若包含特殊字符,需确保在cURL命令中用引号正确包裹。
    • OAuth同意屏幕范围配置:profile和email属于敏感范围,但测试模式下允许使用,需确认这些范围已在OAuth同意屏幕的"已授权范围"中正确添加,没有遗漏。
    • 授权域名覆盖:Google Cloud Console中的授权域名需确保包含api.mydomain.com,仅添加mydomain.com可能不满足子域名的验证要求,建议单独添加api.mydomain.com作为授权域名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 19:50:57