changed id token handling

pull/59/head
Justin Richer 13 years ago
parent d7ba02a74c
commit 4dc1625496

@ -48,32 +48,37 @@ public class OAuth2AccessTokenEntity extends OAuth2AccessToken {
private OAuth2Authentication authentication; // the authentication that made this access
private String idTokenString;
//JWT-encoded representation of this access token entity
private Jwt jwt;
// JWT-encoded access token value
private Jwt jwtValue;
// JWT-encoded OpenID Connect IdToken
private IdToken idToken;
/**
*
* Create a new, blank access token
*/
public OAuth2AccessTokenEntity() {
// we ignore the "value" field in the superclass because we can't cleanly override it
super(null);
setJwt(new Jwt()); // give us a blank jwt to work with at least
setIdToken(new IdToken()); // and a blank IdToken
}
/**
* Override this method to insert the ID Token
* Get all additional information to be sent to the serializer. Inserts a copy of the IdToken (in JWT String form).
*/
@Override
@Transient
public Map<String, Object> getAdditionalInformation() {
Map<String, Object> map = super.getAdditionalInformation();
map.put(ID_TOKEN, idTokenString);
map.put(ID_TOKEN, getIdTokenString());
return map;
}
/**
* The authentication in place when this token was created.
* @return the authentication
*/
@Lob
@ -111,25 +116,24 @@ public class OAuth2AccessTokenEntity extends OAuth2AccessToken {
/* (non-Javadoc)
* @see org.springframework.security.oauth2.common.OAuth2AccessToken#getValue()
*/
/**
* Get the string-encoded value of this access token.
*/
@Override
@Id
@Column(name="id")
public String getValue() {
return jwt.toString();
return jwtValue.toString();
}
/**
* Set the "value" of this Access Token
*
* @param value
* @param value the JWT string
* @throws IllegalArgumentException if "value" is not a properly formatted JWT string
*/
public void setValue(String value) {
try {
Jwt valueJwt = Jwt.parse(value);
setJwt(valueJwt);
} catch (IllegalArgumentException e) {
//TODO: What to do in this case?
}
setJwt(Jwt.parse(value));
}
/* (non-Javadoc)
@ -239,7 +243,7 @@ public class OAuth2AccessTokenEntity extends OAuth2AccessToken {
*/
@Transient
public IdToken getIdToken() {
return IdToken.parse(idTokenString);
return idToken;
}
@ -247,7 +251,7 @@ public class OAuth2AccessTokenEntity extends OAuth2AccessToken {
* @param idToken the idToken to set
*/
public void setIdToken(IdToken idToken) {
this.idTokenString = idToken.toString();
this.idToken = idToken;
}
/**
@ -255,29 +259,30 @@ public class OAuth2AccessTokenEntity extends OAuth2AccessToken {
*/
@Basic
public String getIdTokenString() {
return idTokenString;
return idToken.toString();
}
/**
* @param idTokenString the idTokenString to set
* @throws IllegalArgumentException if "value" is not a properly formatted JWT string
*/
public void setIdTokenString(String idTokenString) {
this.idTokenString = idTokenString;
this.idToken = IdToken.parse(idTokenString);
}
/**
* @return the jwt
* @return the jwtValue
*/
@Transient
public Jwt getJwt() {
return jwt;
return jwtValue;
}
/**
* @param jwt the jwt to set
* @param jwtValue the jwtValue to set
*/
public void setJwt(Jwt jwt) {
this.jwt = jwt;
this.jwtValue = jwt;
}
}

Loading…
Cancel
Save