【问题标题】:Why is Google OAuth2 returning java.io.IOException?为什么 Google OAuth2 返回 java.io.IOException?
【发布时间】:2015-05-12 20:03:41
【问题描述】:

在过去几周内,我们使用 Google 的 Oauth2 身份验证系统和 Apache Oltu 库的一套应用程序已停止工作。

所有通过 Google 注册或登录的尝试都会遇到相同的错误:

Login/registration action failed: java.io.IOException: Attempted read from closed stream.

最近一切正常,在此期间我们没有对代码或应用程序进行任何更改。

Google 端是否发生了一些变化,导致所有这些请求都失败了?

我的 Google 开发者控制台似乎没有任何可用的日志记录或信息。 在我的应用程序中,日志条目表明尝试进行身份验证但未成功。

现在失败的代码,以前成功的是:

            // obtain a AuthRequest message to be sent to the OpenID provider
        OAuthClientRequest oauthRequest = OAuthClientRequest
                .authorizationLocation(discovery.getAuthzEndpoint())
                .setClientId(Oauth2Util.getClientId())
                .setRedirectURI(responseURL)
                .setResponseType(ResponseType.CODE.toString())
                .setScope(GOOGLE_SCOPE)
                .setState(state)
                .buildQueryMessage();

        response.sendRedirect(oauthRequest.getLocationUri());

触发异常:

java.io.IOException: Attempted read from closed stream.

感谢所有建议

【问题讨论】:

    标签: google-oauth oltu


    【解决方案1】:

    【讨论】:

    • 正是因为这次退役,我才将代码迁移到使用 OAuth2。 OAuth2 身份验证在 4 月 20 日之前运行良好。我担心它仍然依赖于已弃用的东西,但我看不出那可能是什么。
    • 我建议尝试获取正在发生的事情的 http 跟踪,否则你依赖于知道 oltu 在内部做什么的人。
    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
    • @PetroKorienev 的基本部分是“谷歌于 4 月 20 日退休 openid 2.0”,这就是为什么这不是一个仅链接的答案
    【解决方案2】:

    好的,我想我已经明白发生了什么。和 OpenID 退役有关,但有点偏

    在我的代码中:

    OAuthClientRequest oauthRequest = OAuthClientRequest
      .authorizationLocation(discovery.getAuthzEndpoint())
    

    正在使用一个内部“发现”模块,该模块试图以一种在关闭 OpenID 时已被弃用的方式获取信息

    首选的 Oltu 方式似乎是

    OAuthClientRequest oauthRequest = OAuthClientRequest
        .authorizationProvider(OAuthProviderType.GOOGLE)
    

    效果更好

    rtm:https://cwiki.apache.org/confluence/display/OLTU/OAuth+2.0+Client+Quickstart

    【讨论】:

      猜你喜欢
      • 2014-08-27
      • 2014-06-28
      • 1970-01-01
      • 1970-01-01
      • 2016-08-20
      • 1970-01-01
      • 2019-11-02
      • 2022-08-22
      • 2013-10-26
      相关资源
      最近更新 更多