Skip to content

Commit cf6d806

Browse files
committed
remove refresh_token from response
1 parent f91fd3e commit cf6d806

File tree

2 files changed

+19
-16
lines changed

2 files changed

+19
-16
lines changed

spring-security-oauth-server/src/main/java/org/baeldung/config/OAuth2AuthorizationServerConfig.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -46,22 +46,22 @@ public void configure(final AuthorizationServerSecurityConfigurer oauthServer) t
4646
}
4747

4848
@Override
49-
public void configure(final ClientDetailsServiceConfigurer clients) throws Exception { // @formatter:off
49+
public void configure(final ClientDetailsServiceConfigurer clients) throws Exception {// @formatter:off
5050
clients.jdbc(dataSource())
5151
.withClient("sampleClientId")
5252
.authorizedGrantTypes("implicit")
5353
.scopes("read","write","foo","bar")
5454
.autoApprove(false)
5555
.accessTokenValiditySeconds(3600)
56-
56+
5757
.and()
5858
.withClient("fooClientIdPassword")
5959
.secret("secret")
6060
.authorizedGrantTypes("password","authorization_code", "refresh_token")
6161
.scopes("foo","read","write")
62-
.accessTokenValiditySeconds(15) // 1 hour
62+
.accessTokenValiditySeconds(3600) // 1 hour
6363
.refreshTokenValiditySeconds(2592000) // 30 days
64-
64+
6565
.and()
6666
.withClient("barClientIdPassword")
6767
.secret("secret")

spring-security-oauth-ui-password/src/main/java/org/baeldung/config/CustomPostZuulFilter.java

+15-12
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
package org.baeldung.config;
22

3+
import java.io.IOException;
34
import java.io.InputStream;
5+
import java.util.Map;
46

57
import javax.servlet.http.Cookie;
68

79
import org.apache.commons.io.IOUtils;
8-
import org.codehaus.jackson.JsonNode;
9-
import org.codehaus.jackson.map.ObjectMapper;
1010
import org.slf4j.Logger;
1111
import org.slf4j.LoggerFactory;
1212
import org.springframework.stereotype.Component;
1313

14+
import com.fasterxml.jackson.core.type.TypeReference;
15+
import com.fasterxml.jackson.databind.ObjectMapper;
1416
import com.netflix.zuul.ZuulFilter;
1517
import com.netflix.zuul.context.RequestContext;
1618

@@ -25,29 +27,30 @@ public Object run() {
2527
final RequestContext ctx = RequestContext.getCurrentContext();
2628
logger.info("in zuul filter " + ctx.getRequest().getRequestURI());
2729

28-
JsonNode json;
2930
try {
3031
final InputStream is = ctx.getResponseDataStream();
31-
final String responseBody = IOUtils.toString(is, "UTF-8");
32-
33-
ctx.setResponseBody(responseBody);
34-
32+
String responseBody = IOUtils.toString(is, "UTF-8");
3533
if (responseBody.contains("refresh_token")) {
36-
json = mapper.readTree(responseBody);
37-
final String refreshToken = json.get("refresh_token").getTextValue();
34+
final Map<String, Object> responseMap = mapper.readValue(responseBody, new TypeReference<Map<String, Object>>() {
35+
});
36+
final String refreshToken = responseMap.get("refresh_token").toString();
37+
responseMap.remove("refresh_token");
38+
responseBody = mapper.writeValueAsString(responseMap);
39+
3840
final Cookie cookie = new Cookie("refreshToken", refreshToken);
3941
cookie.setHttpOnly(true);
4042
// cookie.setSecure(true);
4143
cookie.setPath(ctx.getRequest().getContextPath() + "/oauth/token");
4244
cookie.setMaxAge(2592000); // 30 days
4345
ctx.getResponse().addCookie(cookie);
44-
4546
logger.info("refresh token = " + refreshToken);
47+
4648
}
47-
} catch (final Exception e) {
49+
ctx.setResponseBody(responseBody);
50+
51+
} catch (final IOException e) {
4852
logger.error("Error occured in zuul post filter", e);
4953
}
50-
5154
return null;
5255
}
5356

0 commit comments

Comments
 (0)