java – 使用Google Apps Engine端点的OAuth登录停止工作
作者:互联网
我有一个与GAE服务器通信的桌面Java应用程序.客户端应用程序使用带有路标的OAuth 1.0通过提供的端点登录服务器
(appname.appengine.com/_ah/OAuthGetAccessToken等),其中consumerkey和consumersecret设置为“anonymous”,范围设置为GAE域.登录过程似乎正常工作:
>检索请求令牌
>让用户访问生成的身份验证URL
>询问用户验证码
>检索访问令牌
此时,我有一个看似有效的令牌和令牌秘密.如果我使用这些来签署对GAE服务器的请求,我在识别用户时会收到OAuthRequestException:
OAuthService oauthService = OAuthServiceFactory.getOAuthService();
try {
user = oauthService.getCurrentUser();
if (user != null) {
ri.userName = user.getEmail();
}
} catch (OAuthRequestException t) {
t.printStackTrace();
}
过去一直工作到今天早上.我正在使用Chrome to Phone GAE后端的修改版本.我注意到Chrome to Phone遇到了同样的问题:我无法再登录该服务,因此我不认为这是客户端的错误.登录不会显示在Google Connected Sites,Apps和Services控制台中.以下是Chrome到Phone的GAE服务中受影响的行的链接:Chrome2Phone affected source.
我已经尝试在Google API控制台中注册该应用程序并提供了comsumer密钥和密码,结果相同.
解决方法:
这不是一个答案,但我在使用内置的oauth提供程序库(google.appengine.api.oauth)的python应用程序引擎应用程序上看到了相同的新行为.现有已保存的令牌继续有效,但请求新令牌然后使用它来调用受保护的服务会导致InvalidOAuthTokenError.这与消费者和提供商代码保持不变,直到昨晚(大约午夜CST)才能完美运行.
标签:java,google-app-engine,oauth,google-oauth,signpost 来源: https://codeday.me/bug/20190825/1723890.html