尝试使用Yadis从Steam检索Xrds时,对等方未通过身份验证

问题描述

我正在使用openid4java通过Steam登录到我的应用程序。

登录工作正常,但有时在openid4java尝试检索Xrds时出现异常:

Caused by: org.openid4java.discovery.yadis.YadisException: 0x704: I/O transport error: peer not authenticated
    at org.openid4java.discovery.yadis.YadisResolver.retrieveXrdsLocation(YadisResolver.java:478)
    at org.openid4java.discovery.yadis.YadisResolver.discover(YadisResolver.java:248)
    at org.openid4java.discovery.yadis.YadisResolver.discover(YadisResolver.java:232)
    at org.openid4java.discovery.yadis.YadisResolver.discover(YadisResolver.java:166)
    at org.openid4java.discovery.discovery.discover(discovery.java:147)
    at org.openid4java.discovery.discovery.discover(discovery.java:129)
    at org.openid4java.consumer.ConsumerManager.discover(ConsumerManager.java:538)
    at org.tomass.dota.rattlebot.web.steam.auth.SteamRedirect.redirect(SteamRedirect.java:48)
    ... 31 common frames omitted
Caused by: javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
    at java.base/sun.security.ssl.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:526)
    at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:113)
    at org.apache.http.conn.ssl.SSLSocketFactory.verifyHostname(SSLSocketFactory.java:577)
    at org.apache.http.conn.ssl.SSLSocketFactory.createlayeredSocket(SSLSocketFactory.java:571)
    at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:554)
    at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:415)
    at org.apache.http.impl.conn.DefaultClientConnectionoperator.openConnection(DefaultClientConnectionoperator.java:180)
    at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:144)
    at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:134)
    at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:605)
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:440)
    at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
    at org.openid4java.util.HttpCache.head(HttpCache.java:335)
    at org.openid4java.discovery.yadis.YadisResolver.retrieveXrdsLocation(YadisResolver.java:400)
    ... 38 common frames omitted

没有错误日志时,如下所示:

2020-09-02 08:53:16.516 [https-jsse-nio-8443-exec-6]信息o.o.discovery.yadis.YadisResolver Yadis从以下位置发现了1个端点:https://steamcommunity.com/openid/

当消费者管理器执行发现操作时,此异常发生在重定向之前:

        // perform discovery on the user-supplied identifier
    final List discoveries = this.client.getConsumerManager().discover("https://steamcommunity.com/openid/");

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)