今天太平洋标准时间早上7点左右,您的OAuth2/令牌服务器发生了什么网址:https://accounts.google.com/o/oauth2/token
我们所有谷歌用户的令牌刷新失败(credential.refreshToken()==false),导致我们数百个客户的访问令牌和连接丢失!
然后有一段时间,我们的用户无法重新授权,因为谷歌响应以下API调用返回503不可用和捕获:
GoogleAuthorizationCodeFlow gacf =
new GoogleAuthorizationCodeFlow.Builder(new NetHttpTransport(),
new JacksonFactory(), appId,
appSecret, scopes).build();
tokenResponse = gacf.newTokenRequest(code).setRedirectUri(<callback_url>).execute();
com.google.api.client.auth.oauth2.TokenResponseException:503服务不可用
我们的系统检测到来自您的计算机网络的异常流量。此页面检查它是否';真的是你在发送请求,而不是机器人。
过了一段时间,一切都重新开始工作,直到现在,我们的服务已经停止了数百个客户端的工作,因为不再有有效的OAuth2访问令牌。
你能解释一下谷歌今天早些时候做了什么,以及它是如何使所有代币无效的吗?我们如何找出它检测到的"异常流量"?
感谢
你在AppEngine上??
如果是的话,也许是这个。。。
摘要:
2015年3月5日(星期四),在长达84分钟的时间里,通过HTTP访问某些谷歌API的谷歌应用程序引擎应用程序出现了较高的错误率。对于此事件对您的服务或应用程序造成的任何影响,我们深表歉意,并已立即进行更改以防止此问题再次发生。
影响的详细描述:
1月5日(星期四)上午07:04至08:28,一些通过HTTP调用其他谷歌API的谷歌应用引擎应用程序出现错误率上升。事件期间,所有API调用的全局错误率保持在1%以下,总体而言,中断影响了事件期间活动的2%的应用程序。对这些应用程序的影响是显著的:发出OAuth令牌的请求的错误率超过85%。此外,googleapis.com/storage和googleapis.com/gmail的HTTP API的错误率在50%到60%之间。其他googleapis.com端点受到影响,错误率为10%至20%。
根本原因:
谷歌共享HTTP负载平衡结构中的一个组件经历了流量的非恶意增长,超过了其提供的容量。这触发了自动DoS保护,将部分传入流量分流到CAPTCHA。意外的响应导致一些客户端发出自动重试,从而加剧了问题。
补救和预防:
谷歌工程师在07:02通过自动监控提醒他们注意这个问题,因为负载平衡系统检测到流量过多,并试图自动缓解。07:46,谷歌工程师启用了备用负载平衡功能来纠正这个问题。从08:15到08:40,谷歌工程师继续在负载平衡结构中提供额外的资源,以服务于增加的流量。在此期间,08:28,谷歌工程师确定有足够的容量来服务常规流量和重试流量,并指示负载平衡系统停止缓解并恢复正常流量服务。此操作标志着事件的结束。
为了防止这个问题再次出现,谷歌工程师正在全面重新检查受影响的负载平衡结构,以确保它是并保持正确的配置。此外,谷歌工程师正在改进监控规则,以提供容量短缺的早期预警。最后,谷歌工程师正在检查依赖于该负载平衡系统的服务,并将在适当的情况下将一些服务转移到一个更易于扩展的负载均衡器的单独池中。