updated refresh token to use converter instead of dummy field
parent
9662f3e8b3
commit
8d3a8471aa
|
@ -24,6 +24,7 @@ import java.util.Date;
|
|||
|
||||
import javax.persistence.Basic;
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Convert;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.FetchType;
|
||||
import javax.persistence.GeneratedValue;
|
||||
|
@ -37,6 +38,7 @@ import javax.persistence.Table;
|
|||
import javax.persistence.Temporal;
|
||||
import javax.persistence.Transient;
|
||||
|
||||
import org.mitre.oauth2.model.convert.JWTStringConverter;
|
||||
import org.springframework.security.oauth2.common.OAuth2RefreshToken;
|
||||
|
||||
import com.nimbusds.jwt.JWT;
|
||||
|
@ -52,7 +54,7 @@ import com.nimbusds.jwt.JWTParser;
|
|||
@NamedQuery(name = OAuth2RefreshTokenEntity.QUERY_ALL, query = "select r from OAuth2RefreshTokenEntity r"),
|
||||
@NamedQuery(name = OAuth2RefreshTokenEntity.QUERY_EXPIRED_BY_DATE, query = "select r from OAuth2RefreshTokenEntity r where r.expiration <= :" + OAuth2RefreshTokenEntity.PARAM_DATE),
|
||||
@NamedQuery(name = OAuth2RefreshTokenEntity.QUERY_BY_CLIENT, query = "select r from OAuth2RefreshTokenEntity r where r.client = :" + OAuth2RefreshTokenEntity.PARAM_CLIENT),
|
||||
@NamedQuery(name = OAuth2RefreshTokenEntity.QUERY_BY_TOKEN_VALUE, query = "select r from OAuth2RefreshTokenEntity r where r.value = :" + OAuth2RefreshTokenEntity.PARAM_TOKEN_VALUE)
|
||||
@NamedQuery(name = OAuth2RefreshTokenEntity.QUERY_BY_TOKEN_VALUE, query = "select r from OAuth2RefreshTokenEntity r where r.jwt = :" + OAuth2RefreshTokenEntity.PARAM_TOKEN_VALUE)
|
||||
})
|
||||
public class OAuth2RefreshTokenEntity implements OAuth2RefreshToken {
|
||||
|
||||
|
@ -124,21 +126,11 @@ public class OAuth2RefreshTokenEntity implements OAuth2RefreshToken {
|
|||
* Get the JWT-encoded value of this token
|
||||
*/
|
||||
@Override
|
||||
@Basic
|
||||
@Column(name="token_value")
|
||||
@Transient
|
||||
public String getValue() {
|
||||
return jwt.serialize();
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the value of this token as a string. Parses the string into a JWT.
|
||||
* @param value
|
||||
* @throws ParseException if the value is not a valid JWT string
|
||||
*/
|
||||
public void setValue(String value) throws ParseException {
|
||||
setJwt(JWTParser.parse(value));
|
||||
}
|
||||
|
||||
@Basic
|
||||
@Temporal(javax.persistence.TemporalType.TIMESTAMP)
|
||||
@Column(name = "expiration")
|
||||
|
@ -183,7 +175,9 @@ public class OAuth2RefreshTokenEntity implements OAuth2RefreshToken {
|
|||
* Get the JWT object directly
|
||||
* @return the jwt
|
||||
*/
|
||||
@Transient
|
||||
@Basic
|
||||
@Column(name="token_value")
|
||||
@Convert(converter = JWTStringConverter.class)
|
||||
public JWT getJwt() {
|
||||
return jwt;
|
||||
}
|
||||
|
|
|
@ -191,7 +191,7 @@ public class MITREidDataService_1_0 extends MITREidDataServiceSupport implements
|
|||
} else if (name.equals("value")) {
|
||||
String value = reader.nextString();
|
||||
try {
|
||||
token.setValue(value);
|
||||
token.setJwt(JWTParser.parse(value));
|
||||
} catch (ParseException ex) {
|
||||
logger.error("Unable to set refresh token value to {}", value, ex);
|
||||
}
|
||||
|
|
|
@ -194,7 +194,7 @@ public class MITREidDataService_1_1 extends MITREidDataServiceSupport implements
|
|||
} else if (name.equals("value")) {
|
||||
String value = reader.nextString();
|
||||
try {
|
||||
token.setValue(value);
|
||||
token.setJwt(JWTParser.parse(value));
|
||||
} catch (ParseException ex) {
|
||||
logger.error("Unable to set refresh token value to {}", value, ex);
|
||||
}
|
||||
|
|
|
@ -547,7 +547,7 @@ public class MITREidDataService_1_2 extends MITREidDataServiceSupport implements
|
|||
} else if (name.equals("value")) {
|
||||
String value = reader.nextString();
|
||||
try {
|
||||
token.setValue(value);
|
||||
token.setJwt(JWTParser.parse(value));
|
||||
} catch (ParseException ex) {
|
||||
logger.error("Unable to set refresh token value to {}", value, ex);
|
||||
}
|
||||
|
|
|
@ -154,7 +154,7 @@ public class TestMITREidDataService_1_0 {
|
|||
token1.setId(1L);
|
||||
token1.setClient(mockedClient1);
|
||||
token1.setExpiration(expirationDate1);
|
||||
token1.setValue("eyJhbGciOiJub25lIn0.eyJqdGkiOiJmOTg4OWQyOS0xMTk1LTQ4ODEtODgwZC1lZjVlYzAwY2Y4NDIifQ.");
|
||||
token1.setJwt(JWTParser.parse("eyJhbGciOiJub25lIn0.eyJqdGkiOiJmOTg4OWQyOS0xMTk1LTQ4ODEtODgwZC1lZjVlYzAwY2Y4NDIifQ."));
|
||||
token1.setAuthenticationHolder(mockedAuthHolder1);
|
||||
|
||||
Date expirationDate2 = formatter.parse("2015-01-07T18:31:50.079+0000", Locale.ENGLISH);
|
||||
|
@ -169,7 +169,7 @@ public class TestMITREidDataService_1_0 {
|
|||
token2.setId(2L);
|
||||
token2.setClient(mockedClient2);
|
||||
token2.setExpiration(expirationDate2);
|
||||
token2.setValue("eyJhbGciOiJub25lIn0.eyJqdGkiOiJlYmEyYjc3My0xNjAzLTRmNDAtOWQ3MS1hMGIxZDg1OWE2MDAifQ.");
|
||||
token2.setJwt(JWTParser.parse("eyJhbGciOiJub25lIn0.eyJqdGkiOiJlYmEyYjc3My0xNjAzLTRmNDAtOWQ3MS1hMGIxZDg1OWE2MDAifQ."));
|
||||
token2.setAuthenticationHolder(mockedAuthHolder2);
|
||||
|
||||
String configJson = "{" +
|
||||
|
@ -857,7 +857,7 @@ public class TestMITREidDataService_1_0 {
|
|||
token1.setId(1L);
|
||||
token1.setClient(mockedClient1);
|
||||
token1.setExpiration(expirationDate1);
|
||||
token1.setValue("eyJhbGciOiJub25lIn0.eyJqdGkiOiJmOTg4OWQyOS0xMTk1LTQ4ODEtODgwZC1lZjVlYzAwY2Y4NDIifQ.");
|
||||
token1.setJwt(JWTParser.parse("eyJhbGciOiJub25lIn0.eyJqdGkiOiJmOTg4OWQyOS0xMTk1LTQ4ODEtODgwZC1lZjVlYzAwY2Y4NDIifQ."));
|
||||
token1.setAuthenticationHolder(holder1);
|
||||
|
||||
String expiration2 = "2015-01-07T18:31:50.079+0000";
|
||||
|
@ -880,7 +880,7 @@ public class TestMITREidDataService_1_0 {
|
|||
token2.setId(2L);
|
||||
token2.setClient(mockedClient2);
|
||||
token2.setExpiration(expirationDate2);
|
||||
token2.setValue("eyJhbGciOiJub25lIn0.eyJqdGkiOiJlYmEyYjc3My0xNjAzLTRmNDAtOWQ3MS1hMGIxZDg1OWE2MDAifQ.");
|
||||
token2.setJwt(JWTParser.parse("eyJhbGciOiJub25lIn0.eyJqdGkiOiJlYmEyYjc3My0xNjAzLTRmNDAtOWQ3MS1hMGIxZDg1OWE2MDAifQ."));
|
||||
token2.setAuthenticationHolder(holder2);
|
||||
|
||||
String configJson = "{" +
|
||||
|
|
|
@ -157,7 +157,7 @@ public class TestMITREidDataService_1_1 {
|
|||
token1.setId(1L);
|
||||
token1.setClient(mockedClient1);
|
||||
token1.setExpiration(expirationDate1);
|
||||
token1.setValue("eyJhbGciOiJub25lIn0.eyJqdGkiOiJmOTg4OWQyOS0xMTk1LTQ4ODEtODgwZC1lZjVlYzAwY2Y4NDIifQ.");
|
||||
token1.setJwt(JWTParser.parse("eyJhbGciOiJub25lIn0.eyJqdGkiOiJmOTg4OWQyOS0xMTk1LTQ4ODEtODgwZC1lZjVlYzAwY2Y4NDIifQ."));
|
||||
token1.setAuthenticationHolder(mockedAuthHolder1);
|
||||
|
||||
String expiration2 = "2015-01-07T18:31:50.079+0000";
|
||||
|
@ -173,7 +173,7 @@ public class TestMITREidDataService_1_1 {
|
|||
token2.setId(2L);
|
||||
token2.setClient(mockedClient2);
|
||||
token2.setExpiration(expirationDate2);
|
||||
token2.setValue("eyJhbGciOiJub25lIn0.eyJqdGkiOiJlYmEyYjc3My0xNjAzLTRmNDAtOWQ3MS1hMGIxZDg1OWE2MDAifQ.");
|
||||
token2.setJwt(JWTParser.parse("eyJhbGciOiJub25lIn0.eyJqdGkiOiJlYmEyYjc3My0xNjAzLTRmNDAtOWQ3MS1hMGIxZDg1OWE2MDAifQ."));
|
||||
token2.setAuthenticationHolder(mockedAuthHolder2);
|
||||
|
||||
String configJson = "{" +
|
||||
|
@ -869,7 +869,7 @@ public class TestMITREidDataService_1_1 {
|
|||
token1.setId(1L);
|
||||
token1.setClient(mockedClient1);
|
||||
token1.setExpiration(expirationDate1);
|
||||
token1.setValue("eyJhbGciOiJub25lIn0.eyJqdGkiOiJmOTg4OWQyOS0xMTk1LTQ4ODEtODgwZC1lZjVlYzAwY2Y4NDIifQ.");
|
||||
token1.setJwt(JWTParser.parse("eyJhbGciOiJub25lIn0.eyJqdGkiOiJmOTg4OWQyOS0xMTk1LTQ4ODEtODgwZC1lZjVlYzAwY2Y4NDIifQ."));
|
||||
token1.setAuthenticationHolder(holder1);
|
||||
|
||||
String expiration2 = "2015-01-07T18:31:50.079+0000";
|
||||
|
@ -892,7 +892,7 @@ public class TestMITREidDataService_1_1 {
|
|||
token2.setId(2L);
|
||||
token2.setClient(mockedClient2);
|
||||
token2.setExpiration(expirationDate2);
|
||||
token2.setValue("eyJhbGciOiJub25lIn0.eyJqdGkiOiJlYmEyYjc3My0xNjAzLTRmNDAtOWQ3MS1hMGIxZDg1OWE2MDAifQ.");
|
||||
token2.setJwt(JWTParser.parse("eyJhbGciOiJub25lIn0.eyJqdGkiOiJlYmEyYjc3My0xNjAzLTRmNDAtOWQ3MS1hMGIxZDg1OWE2MDAifQ."));
|
||||
token2.setAuthenticationHolder(holder2);
|
||||
|
||||
String configJson = "{" +
|
||||
|
|
|
@ -164,7 +164,7 @@ public class TestMITREidDataService_1_2 {
|
|||
token1.setId(1L);
|
||||
token1.setClient(mockedClient1);
|
||||
token1.setExpiration(expirationDate1);
|
||||
token1.setValue("eyJhbGciOiJub25lIn0.eyJqdGkiOiJmOTg4OWQyOS0xMTk1LTQ4ODEtODgwZC1lZjVlYzAwY2Y4NDIifQ.");
|
||||
token1.setJwt(JWTParser.parse("eyJhbGciOiJub25lIn0.eyJqdGkiOiJmOTg4OWQyOS0xMTk1LTQ4ODEtODgwZC1lZjVlYzAwY2Y4NDIifQ."));
|
||||
token1.setAuthenticationHolder(mockedAuthHolder1);
|
||||
|
||||
String expiration2 = "2015-01-07T18:31:50.079+0000";
|
||||
|
@ -180,7 +180,7 @@ public class TestMITREidDataService_1_2 {
|
|||
token2.setId(2L);
|
||||
token2.setClient(mockedClient2);
|
||||
token2.setExpiration(expirationDate2);
|
||||
token2.setValue("eyJhbGciOiJub25lIn0.eyJqdGkiOiJlYmEyYjc3My0xNjAzLTRmNDAtOWQ3MS1hMGIxZDg1OWE2MDAifQ.");
|
||||
token2.setJwt(JWTParser.parse("eyJhbGciOiJub25lIn0.eyJqdGkiOiJlYmEyYjc3My0xNjAzLTRmNDAtOWQ3MS1hMGIxZDg1OWE2MDAifQ."));
|
||||
token2.setAuthenticationHolder(mockedAuthHolder2);
|
||||
|
||||
Set<OAuth2RefreshTokenEntity> allRefreshTokens = ImmutableSet.of(token1, token2);
|
||||
|
@ -287,7 +287,7 @@ public class TestMITREidDataService_1_2 {
|
|||
token1.setId(1L);
|
||||
token1.setClient(mockedClient1);
|
||||
token1.setExpiration(expirationDate1);
|
||||
token1.setValue("eyJhbGciOiJub25lIn0.eyJqdGkiOiJmOTg4OWQyOS0xMTk1LTQ4ODEtODgwZC1lZjVlYzAwY2Y4NDIifQ.");
|
||||
token1.setJwt(JWTParser.parse("eyJhbGciOiJub25lIn0.eyJqdGkiOiJmOTg4OWQyOS0xMTk1LTQ4ODEtODgwZC1lZjVlYzAwY2Y4NDIifQ."));
|
||||
token1.setAuthenticationHolder(mockedAuthHolder1);
|
||||
|
||||
String expiration2 = "2015-01-07T18:31:50.079+0000";
|
||||
|
@ -303,7 +303,7 @@ public class TestMITREidDataService_1_2 {
|
|||
token2.setId(2L);
|
||||
token2.setClient(mockedClient2);
|
||||
token2.setExpiration(expirationDate2);
|
||||
token2.setValue("eyJhbGciOiJub25lIn0.eyJqdGkiOiJlYmEyYjc3My0xNjAzLTRmNDAtOWQ3MS1hMGIxZDg1OWE2MDAifQ.");
|
||||
token2.setJwt(JWTParser.parse("eyJhbGciOiJub25lIn0.eyJqdGkiOiJlYmEyYjc3My0xNjAzLTRmNDAtOWQ3MS1hMGIxZDg1OWE2MDAifQ."));
|
||||
token2.setAuthenticationHolder(mockedAuthHolder2);
|
||||
|
||||
String configJson = "{" +
|
||||
|
@ -1778,7 +1778,7 @@ public class TestMITREidDataService_1_2 {
|
|||
token1.setId(1L);
|
||||
token1.setClient(mockedClient1);
|
||||
token1.setExpiration(expirationDate1);
|
||||
token1.setValue("eyJhbGciOiJub25lIn0.eyJqdGkiOiJmOTg4OWQyOS0xMTk1LTQ4ODEtODgwZC1lZjVlYzAwY2Y4NDIifQ.");
|
||||
token1.setJwt(JWTParser.parse("eyJhbGciOiJub25lIn0.eyJqdGkiOiJmOTg4OWQyOS0xMTk1LTQ4ODEtODgwZC1lZjVlYzAwY2Y4NDIifQ."));
|
||||
token1.setAuthenticationHolder(holder1);
|
||||
|
||||
String expiration2 = "2015-01-07T18:31:50.079+0000";
|
||||
|
@ -1801,7 +1801,7 @@ public class TestMITREidDataService_1_2 {
|
|||
token2.setId(2L);
|
||||
token2.setClient(mockedClient2);
|
||||
token2.setExpiration(expirationDate2);
|
||||
token2.setValue("eyJhbGciOiJub25lIn0.eyJqdGkiOiJlYmEyYjc3My0xNjAzLTRmNDAtOWQ3MS1hMGIxZDg1OWE2MDAifQ.");
|
||||
token2.setJwt(JWTParser.parse("eyJhbGciOiJub25lIn0.eyJqdGkiOiJlYmEyYjc3My0xNjAzLTRmNDAtOWQ3MS1hMGIxZDg1OWE2MDAifQ."));
|
||||
token2.setAuthenticationHolder(holder2);
|
||||
|
||||
String configJson = "{" +
|
||||
|
|
Loading…
Reference in New Issue