Spring AI:配置spring.ai.vertex.ai.gemini.credentialsUri JSON文件时认证失败
遇到的错误信息:
UNAUTHENTICATED: Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential.
以下是针对性的排查和解决步骤:
检查服务账户JSON文件有效性
确认文件是从Google Cloud控制台完整下载的,未被修改或损坏。重点核对client_email、private_key字段,确保private_key的首尾标识(-----BEGIN PRIVATE KEY-----和-----END PRIVATE KEY-----)完整且格式正确,无多余换行或字符。验证credentialsUri配置路径
本地文件路径需添加file:///前缀:Windows系统格式为file:///C:/xxx/key.json,Linux/macOS系统为file:///home/xxx/key.json。同时确保应用程序拥有该文件的读取权限,避免因权限不足导致凭证加载失败。检查服务账户权限
登录Google Cloud控制台的IAM页面,确认该服务账户已分配Vertex AI User或Vertex AI Editor等必要角色,无权限缺失情况。排查凭证来源冲突
检查是否存在GOOGLE_APPLICATION_CREDENTIALS环境变量,该变量会优先于credentialsUri配置生效。若存在冲突,可暂时移除该环境变量后重新测试。确认依赖版本兼容性
确保项目中Vertex AI相关依赖为最新稳定版,同时核对Spring Boot版本与Vertex AI Starter依赖的兼容性(可在pom.xml或build.gradle中确认版本匹配)。
内容的提问来源于stack exchange,提问作者Mustahsan

