【问题标题】:404 Error while accessing https://www.googleapis.com/oauth2/v1/certs访问 https://www.googleapis.com/oauth2/v1/certs 时出现 404 错误
【发布时间】:2014-12-24 06:46:10
【问题描述】:

更新截至美国东部标准时间 29.10.204 下午 5:00,服务似乎运行良好


我们正在尝试进行 authToken 身份验证,并且所有请求都失败并出现 404 错误。 这从今天早上(28-10-2014)开始发生。

这发生在欧洲(德国)

编辑

现在我看到美国也有同样的行为,但与德国相比,失败率要低。

java.io.FileNotFoundException: https://www.googleapis.com/oauth2/v1/certs
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java:1514)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1508)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1162)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:234)

【问题讨论】:

    标签: java google-oauth google-oauth-java-client


    【解决方案1】:

    同样的问题,发生了什么:https://www.googleapis.com/oauth2/v2/certs。它说“未找到”。有这方面的信息吗?更新:我刚刚刷新了https://www.googleapis.com/oauth2/v2/certs 并且证书在那里,再次刷新它们消失了,现在无论我刷新页面多少次它们都消失了。这是怎么回事?更新 2:我将我的 Chrome VPN 更改为德国,证书现在在那里,但没有 VPN,来自克罗地亚,它们不是,相同的消息:“未找到”

    【讨论】:

    • 现在服务好像还可以
    【解决方案2】:

    来自匈牙利的同样问题,来自 DigitalOcean 的阿姆斯特丹和纽约地区...:/

    但是,有时回复是 200,有时是 404... :(

    【讨论】:

    • 没有答案...这是Google方面的问题...:/
    • 芬兰赫尔辛基也有同样的问题。奇怪的是,如果我在 Chrome 中尝试 URL,我得到 200,但 Firefox 和 IE 给我 404。
    • 实际上似乎在所有浏览器中都很随机。
    【解决方案3】:

    我已经做了一个解决方法!下载证书,作为静态内容添加到我的应用程序中,并重写公共证书的 URL。这是sn-p:

    final GoogleIdToken idToken = GoogleIdToken.parse(JSON_FACTORY, token);
    final GooglePublicKeysManager manager = new GooglePublicKeysManager.Builder(HTTP_TRANSPORT, JSON_FACTORY)
        .setPublicCertsEncodedUrl("http://localhost:8080/static/certs.json").build();
    final GoogleIdTokenVerifier verifier = new GoogleIdTokenVerifier.Builder(manager)
        .setAudience(Arrays.asList(CLIENT_ID)).build();
    verifier.verify(idToken);
    

    这是一种解决方法,我希望 Google 能解决这个问题... :(

    【讨论】:

    猜你喜欢
    • 2015-09-25
    • 2014-02-15
    • 2013-11-19
    • 1970-01-01
    • 1970-01-01
    • 2018-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多