Gave OAuth2AccessTokenEntity a Long Id

pull/165/merge
Amanda Anganes 2012-08-08 10:17:36 -04:00
parent 780839dbf9
commit 6b1dad7215
4 changed files with 36 additions and 5 deletions

View File

@ -29,6 +29,8 @@ import javax.persistence.Column;
import javax.persistence.ElementCollection;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.Lob;
@ -55,7 +57,8 @@ import org.springframework.security.oauth2.provider.OAuth2Authentication;
@NamedQuery(name = "OAuth2AccessTokenEntity.getByRefreshToken", query = "select a from OAuth2AccessTokenEntity a where a.refreshToken = :refreshToken"),
@NamedQuery(name = "OAuth2AccessTokenEntity.getByClient", query = "select a from OAuth2AccessTokenEntity a where a.client = :client"),
@NamedQuery(name = "OAuth2AccessTokenEntity.getExpired", query = "select a from OAuth2AccessTokenEntity a where a.expiration is not null and a.expiration < current_timestamp"),
@NamedQuery(name = "OAuth2AccessTokenEntity.getByAuthentication", query = "select a from OAuth2AccessTokenEntity a where a.authentication = :authentication")
@NamedQuery(name = "OAuth2AccessTokenEntity.getByAuthentication", query = "select a from OAuth2AccessTokenEntity a where a.authentication = :authentication"),
@NamedQuery(name = "OAuth2AccessTokenEntity.getByTokenValue", query = "select a from OAuth2AccessTokenEntity a where a.value = :tokenValue")
})
//@JsonSerialize(using = OAuth2AccessTokenSerializer.class)
//@JsonDeserialize(using = OAuth2AccessTokenDeserializer.class)
@ -63,6 +66,8 @@ public class OAuth2AccessTokenEntity implements OAuth2AccessToken {
public static String ID_TOKEN = "id_token";
private Long id;
private ClientDetailsEntity client;
private OAuth2Authentication authentication; // the authentication that made this access
@ -86,6 +91,22 @@ public class OAuth2AccessTokenEntity implements OAuth2AccessToken {
setJwt(new Jwt()); // give us a blank jwt to work with at least
}
/**
* @return the id
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public Long getId() {
return id;
}
/**
* @param id the id to set
*/
public void setId(Long id) {
this.id = id;
}
/**
* Get all additional information to be sent to the serializer. Inserts a copy of the IdToken (in JWT String form).
*/
@ -132,8 +153,8 @@ public class OAuth2AccessTokenEntity implements OAuth2AccessToken {
/**
* Get the string-encoded value of this access token.
*/
@Id
@Column(name="id")
@Basic
@Column(name="token_value")
public String getValue() {
return jwtValue.toString();
}

View File

@ -35,6 +35,8 @@ public interface OAuth2TokenRepository {
public OAuth2RefreshTokenEntity saveRefreshToken(OAuth2RefreshTokenEntity refreshToken);
public OAuth2AccessTokenEntity getAccessTokenByValue(String accessTokenValue);
public OAuth2AccessTokenEntity getAccessTokenById(Long id);
public void removeAccessToken(OAuth2AccessTokenEntity accessToken);

View File

@ -1,5 +1,6 @@
CREATE TABLE accesstoken (
id VARCHAR(4096),
id VARCHAR(256),
token_value VARCHAR(4096),
expiration TIMESTAMP,
tokenType VARCHAR(256),
refresh_token_id VARCHAR(256),

View File

@ -39,7 +39,14 @@ public class JpaOAuth2TokenRepository implements OAuth2TokenRepository {
@Override
public OAuth2AccessTokenEntity getAccessTokenByValue(String accessTokenValue) {
return manager.find(OAuth2AccessTokenEntity.class, accessTokenValue);
TypedQuery<OAuth2AccessTokenEntity> query = manager.createNamedQuery("OAuth2AccessTokenEntity.getByTokenValue", OAuth2AccessTokenEntity.class);
query.setParameter("tokenValue", accessTokenValue);
return JpaUtil.getSingleResult(query.getResultList());
}
@Override
public OAuth2AccessTokenEntity getAccessTokenById(Long id) {
return manager.find(OAuth2AccessTokenEntity.class, id);
}
@Override