Flutter应用上传文件至Google Drive时触发OAuth 2.0安全违规错误
解决Flutter应用Google Drive上传时的OAuth 2.0安全政策错误
以下是针对性的排查和解决步骤:
检查OAuth同意屏幕配置
- 若应用未正式上线,将Google Cloud Console中的OAuth同意屏幕设置为「内部测试」状态;如果是公开应用,需完成Google的外部应用审核流程。
- 只保留Drive上传所需的最小权限范围,比如
https://www.googleapis.com/auth/drive.file,避免请求过度权限(如全Drive访问权限)。 - 确保同意屏幕上的应用名称、隐私政策链接、开发者联系方式等信息填写完整且合规。
验证OAuth客户端ID配置
- 确认客户端ID类型与应用平台匹配:Android应用选「Android」客户端ID,iOS应用选「iOS」客户端ID,不要误用Web类型ID。
- Android端核对SHA-1指纹是否为当前调试/打包所用签名证书的指纹,避免指纹不匹配。
- iOS端检查Bundle ID是否与Xcode项目及Cloud Console中的配置完全一致。
调整权限请求范围
- 确保
googleDrive.uploadFileToGoogleDrive(file)方法中请求的权限是最小必要的,优先使用drive.file范围(仅允许访问应用创建的文件),而非全Drive权限,后者需要更严格的审核。
- 确保
测试用户限制
- 内部测试阶段,需将测试账号添加到OAuth同意屏幕的「测试用户」列表中,未添加的账号无法正常授权,会触发安全提示。
内容的提问来源于stack exchange,提问作者Kavishka Rajapakshe
相关产品推荐
相关产品推荐

