Google APIs OAuth2获取Token时报invalid_request:安全政策合规问题排查
Google OAuth2 测试阶段换取Access Token触发安全政策错误排查方案
可能违反的政策及排查根因
1. 重定向URI配置不匹配
虽然授权码获取正常,但换取token时Google会严格校验请求中的redirect_uri与控制台配置的一致性。哪怕是细微差异(比如协议/http/https、端口号、路径大小写、多/少斜杠),都会触发安全政策校验失败。
- 排查:进入Google Cloud控制台 → OAuth 2.0客户端ID → 对应Web应用的配置页面,确认"已授权的重定向URI"列表中包含解码后的
https://localhost:7082/signin-google,与请求中的值完全一致。
2. OAuth同意屏幕配置不完整
测试阶段的项目也需完成OAuth同意屏幕的基础配置,未填写必填项会被判定为违反安全政策。
- 排查:进入Google Cloud控制台 → OAuth同意屏幕 → 检查以下必填项是否完整:
- 应用名称、用户支持邮箱
- 开发者联系信息
- 隐私政策链接(可填本地占位链接,如
http://localhost/privacy) - 确保所有请求中用到的
scope已添加到"Scopes for Google APIs"列表中
3. 请求参数或格式不符合要求
即使参数内容正确,格式或细节错误也会触发invalid_request:
- 检查
Content-Type:使用application/x-www-form-urlencoded格式时,需设置请求头Content-Type: application/x-www-form-urlencoded;使用JSON格式时需设置Content-Type: application/json,两者不可混用。 - 确认授权码有效性:授权码仅10分钟有效期,且只能使用一次,若重复使用或过期会触发错误。
- 核对参数拼写:确保
grant_type值为authorization_code,无拼写错误;client_id、client_secret完全复制正确,无多余空格或字符缺失。
4. 客户端类型错误
若创建的是桌面应用/移动应用类型的OAuth客户端,而非Web应用类型,会因凭据类型不匹配触发安全政策校验失败。
- 排查:进入Google Cloud控制台 → OAuth 2.0客户端ID → 确认对应客户端的类型为"Web应用"。
内容的提问来源于stack exchange,提问作者AB Deccan
相关产品推荐
相关产品推荐

