1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.springframework.security.oauth2.provider.refresh;
18
19 import org.springframework.security.oauth2.common.OAuth2AccessToken;
20 import org.springframework.security.oauth2.provider.ClientDetails;
21 import org.springframework.security.oauth2.provider.ClientDetailsService;
22 import org.springframework.security.oauth2.provider.OAuth2RequestFactory;
23 import org.springframework.security.oauth2.provider.TokenRequest;
24 import org.springframework.security.oauth2.provider.token.AbstractTokenGranter;
25 import org.springframework.security.oauth2.provider.token.AuthorizationServerTokenServices;
26
27
28
29
30
31 public class RefreshTokenGranter extends AbstractTokenGranter {
32
33 private static final String GRANT_TYPE = "refresh_token";
34
35 public RefreshTokenGranter(AuthorizationServerTokenServices tokenServices, ClientDetailsService clientDetailsService, OAuth2RequestFactory requestFactory) {
36 this(tokenServices, clientDetailsService, requestFactory, GRANT_TYPE);
37 }
38
39 protected RefreshTokenGranter(AuthorizationServerTokenServices tokenServices, ClientDetailsService clientDetailsService,
40 OAuth2RequestFactory requestFactory, String grantType) {
41 super(tokenServices, clientDetailsService, requestFactory, grantType);
42 }
43
44 @Override
45 protected OAuth2AccessToken getAccessToken(ClientDetails client, TokenRequest tokenRequest) {
46 String refreshToken = tokenRequest.getRequestParameters().get("refresh_token");
47 return getTokenServices().refreshAccessToken(refreshToken, tokenRequest);
48 }
49
50 }