首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache oltu oauth2通过SSL询问令牌

Apache oltu oauth2通过SSL询问令牌
EN

Stack Overflow用户
提问于 2014-12-30 15:13:10
回答 1查看 4.4K关注 0票数 2

是否有一种使用Apache通过SSL请求访问令牌的方法?如果我不使用https (端口8443),但只使用http.

我的密码是:

代码语言:javascript
复制
OAuthClient oAuthClient = new OAuthClient(new URLConnectionClient());

OAuthClientRequest request = OAuthClientRequest.tokenLocation(MessageFormat.format("https://{0}:8443/applicationId/oauth/token", host)) //
        .setGrantType(GrantType.PASSWORD) //
        .setUsername("username") //
        .setPassword("password") //
        .setClientId("clientId") //
        .buildBodyMessage();

OAuthAccessTokenResponse oAuthResponse = oAuthClient.accessToken(request);

我得到以下异常消息:

代码语言:javascript
复制
    org.apache.oltu.oauth2.common.exception.OAuthSystemException: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No name matching localhost found
at org.apache.oltu.oauth2.client.URLConnectionClient.execute(URLConnectionClient.java:108)
at org.apache.oltu.oauth2.client.OAuthClient.accessToken(OAuthClient.java:65)
at org.apache.oltu.oauth2.client.OAuthClient.accessToken(OAuthClient.java:55)
at org.apache.oltu.oauth2.client.OAuthClient.accessToken(OAuthClient.java:71)

我知道有一种方法可以通过覆盖HostnameVerifier的HttpsURLConnection来解决这个问题,但是在apache中有实现这种方法的方法吗?:

代码语言:javascript
复制
static {
    //for localhost testing only
    javax.net.ssl.HttpsURLConnection.setDefaultHostnameVerifier(
    new javax.net.ssl.HostnameVerifier(){

        public boolean verify(String hostname,
                javax.net.ssl.SSLSession sslSession) {
            if (hostname.equals("localhost")) {
                return true;
            }
            return false;
        }
    });
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-30 21:00:32

URLConnectionClient使用HttpsURLConnection,所以您的代码应该可以工作;您试过了吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27707907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档