Google cloud platform 来自谷歌云构建api Oauth的问题
直到上周,我们打给GCP的电话一直在100%正常工作。上周发生了一些事情,我们现在间歇性地得到了401(好吧,更像是一遍又一遍,然后它神奇地再次开始工作)。我还没有让它从我的本地机器上失败,只是在云端运行 这里是错误Google cloud platform 来自谷歌云构建api Oauth的问题,google-cloud-platform,google-cloud-build,Google Cloud Platform,Google Cloud Build,直到上周,我们打给GCP的电话一直在100%正常工作。上周发生了一些事情,我们现在间歇性地得到了401(好吧,更像是一遍又一遍,然后它神奇地再次开始工作)。我还没有让它从我的本地机器上失败,只是在云端运行 这里是错误 json error='{ "error": { "code": 401, "message": "Request had invalid authentication credentials
json error='{
"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"
}
}
我们希望与google cloud build对话,使其在本地或在云中运行,因此我们生成了一个json令牌。如果过期了,我想,我们得到的401不是断断续续的,为什么它在我的本地机器上工作
我们正在使用从json文件创建的访问令牌。但我忘了我们是如何创建这个json文件的。仍在挖掘这些信息。所以我们发现,我们已经将这些代码移到了构造函数中
GoogleCredentials scoped = credential.createScoped(scopes);
scoped.refreshIfExpired();
AccessToken accessToken = scoped.getAccessToken();
将其移回请求路径并刷新每个请求(可能最终需要修复)可以解决此问题
我仍然很好奇,“为什么我不必时不时地刷新我的*.json文件?”我假设如果我的*.json保持不变1年,这就开始成为一种安全风险,对吗
谢谢,
Dean如果没有产生此错误的确切请求的详细信息,我们只能猜测。通过显示生成OAuth令牌并发出HTTP请求的代码,重新创建您的问题。包括完整的HTTP请求和标题。除了上面John的评论之外,在错误开始出现后是否有任何新的部署,如果没有,在中打开错误报告可能会很有趣,因为这可能是云构建本身的问题,如果没有,他们可能会在排除故障时发现项目中的错误。我们已经解决了问题(发布了答案),但是,我仍然不确定*.json文件过期的原因或时间。它会过期吗?我的意思是,就像ssl证书一样,它应该在一年后过期,对吗?还是不?