View Javadoc
1   package org.springframework.security.oauth2.client;
2   
3   import java.io.Serializable;
4   import java.util.HashMap;
5   import java.util.Map;
6   
7   import org.springframework.security.oauth2.client.token.AccessTokenRequest;
8   import org.springframework.security.oauth2.client.token.DefaultAccessTokenRequest;
9   import org.springframework.security.oauth2.common.OAuth2AccessToken;
10  
11  /**
12   * The OAuth 2 security context (for a specific user or client or combination thereof).
13   * 
14   * @author Dave Syer
15   */
16  public class DefaultOAuth2ClientContext implements OAuth2ClientContext, Serializable {
17  
18  	private static final long serialVersionUID = 914967629530462926L;
19  
20  	private OAuth2AccessToken accessToken;
21  
22  	private AccessTokenRequest accessTokenRequest;
23  
24  	private Map<String, Object> state = new HashMap<String, Object>();
25  
26  	public DefaultOAuth2ClientContext() {
27  		this(new DefaultAccessTokenRequest());
28  	}
29  
30  	public DefaultOAuth2ClientContext(AccessTokenRequest accessTokenRequest) {
31  		this.accessTokenRequest = accessTokenRequest;
32  	}
33  
34  	public DefaultOAuth2ClientContext(OAuth2AccessToken accessToken) {
35  		this.accessToken = accessToken;
36  		this.accessTokenRequest = new DefaultAccessTokenRequest();
37  	}
38  
39  	public OAuth2AccessToken getAccessToken() {
40  		return accessToken;
41  	}
42  
43  	public void setAccessToken(OAuth2AccessToken accessToken) {
44  		this.accessToken = accessToken;
45  		this.accessTokenRequest.setExistingToken(accessToken);
46  	}
47  
48  	public AccessTokenRequest getAccessTokenRequest() {
49  		return accessTokenRequest;
50  	}
51  
52  	public void setPreservedState(String stateKey, Object preservedState) {
53  		state.put(stateKey, preservedState);
54  	}
55  
56  	public Object removePreservedState(String stateKey) {
57  		return state.remove(stateKey);
58  	}
59  
60  }