在OAuth2RestTemplate中传递cookie

时间:2017-11-17 13:24:07

标签: spring oauth spring-security-oauth2

我在Java 8中使用Spring boot 1.5.3。我正在使用Oauth2RestClient从一个休息端点调用远程休息端点。调用成功但我无法在请求中传递OAUTH-ACCESS-TOKEN cookie。你可以指导我如何在oauth2RestTemplate中传递这个cookie。

private HttpEntity<T> getHttpEntity(OAuth2RestClientDetails 
  oAuth2RestClientDetails, T requestData) {
    HttpEntity<T> httpEntity = null;
    HttpHeaders httpHeaders = getHttpHeaders(oAuth2RestClientDetails);
    if (requestData != null && httpHeaders.size() > 0) {
        httpEntity = new HttpEntity<T>(requestData, httpHeaders);
    } else if (requestData != null) {
        httpEntity = new HttpEntity<T>(requestData);
    }
    return httpEntity;
}

解决了问题

以下部分代码存在问题:

int z = x > y; 

它有条件地发送httpHeaders,即当requestData不为null且标头大小大于零时。通过纠正这种逻辑,问题就解决了。

感谢。

1 个答案:

答案 0 :(得分:1)

  

这是社区Wiki回答,将已编辑的答案替换为原始问题as recommended by Meta。解决方案最初是由提问者发布的。

代码的以下部分存在问题:

private HttpEntity<T> getHttpEntity(OAuth2RestClientDetails 
  oAuth2RestClientDetails, T requestData) {
    HttpEntity<T> httpEntity = null;
    HttpHeaders httpHeaders = getHttpHeaders(oAuth2RestClientDetails);
    if (requestData != null && httpHeaders.size() > 0) {
        httpEntity = new HttpEntity<T>(requestData, httpHeaders);
    } else if (requestData != null) {
        httpEntity = new HttpEntity<T>(requestData);
    }
    return httpEntity;
}

它有条件地发送httpHeaders,即当requestData不为null且标头大小大于零时。通过纠正这个逻辑,问题得以解决。

相关问题