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
	
	 Justin Richer
						Justin Richer