98
98
@ ImportRuntimeHints (JdbcOAuth2AuthorizationService .JdbcOAuth2AuthorizationServiceRuntimeHintsRegistrar .class )
99
99
public class JdbcOAuth2AuthorizationService implements OAuth2AuthorizationService {
100
100
101
+ private static final String REFRESH_TOKEN_VALUE = "refresh_token_value" ;
102
+ private static final String AUTHORIZATION_CODE_VALUE = "authorization_code_value" ;
103
+ private static final String ACCESS_TOKEN_VALUE = "access_token_value" ;
104
+ private static final String OIDC_ID_TOKEN_VALUE = "oidc_id_token_value" ;
105
+ private static final String USER_CODE_VALUE = "user_code_value" ;
106
+ private static final String DEVICE_CODE_VALUE = "device_code_value" ;
107
+ private static final String AUTHORIZATION_CODE_METADATA = "authorization_code_metadata" ;
108
+ private static final String ACCESS_TOKEN_METADATA = "access_token_metadata" ;
109
+ private static final String OIDC_ID_TOKEN_METADATA = "oidc_id_token_metadata" ;
110
+ private static final String REFRESH_TOKEN_METADATA = "refresh_token_metadata" ;
111
+ private static final String USER_CODE_METADATA = "user_code_metadata" ;
112
+ private static final String DEVICE_CODE_METADATA = "device_code_metadata" ;
113
+
101
114
// @formatter:off
102
115
private static final String COLUMN_NAMES = "id, "
103
116
+ "registered_client_id, "
@@ -279,40 +292,40 @@ public OAuth2Authorization findByToken(String token, @Nullable OAuth2TokenType t
279
292
List <SqlParameterValue > parameters = new ArrayList <>();
280
293
if (tokenType == null ) {
281
294
parameters .add (new SqlParameterValue (Types .VARCHAR , token ));
282
- parameters .add (mapToSqlParameter ("authorization_code_value" , token ));
283
- parameters .add (mapToSqlParameter ("access_token_value" , token ));
284
- parameters .add (mapToSqlParameter ("oidc_id_token_value" , token ));
285
- parameters .add (mapToSqlParameter ("refresh_token_value" , token ));
286
- parameters .add (mapToSqlParameter ("user_code_value" , token ));
287
- parameters .add (mapToSqlParameter ("device_code_value" , token ));
295
+ parameters .add (mapToSqlParameter (AUTHORIZATION_CODE_VALUE , token ));
296
+ parameters .add (mapToSqlParameter (ACCESS_TOKEN_VALUE , token ));
297
+ parameters .add (mapToSqlParameter (OIDC_ID_TOKEN_VALUE , token ));
298
+ parameters .add (mapToSqlParameter (REFRESH_TOKEN_VALUE , token ));
299
+ parameters .add (mapToSqlParameter (USER_CODE_VALUE , token ));
300
+ parameters .add (mapToSqlParameter (DEVICE_CODE_VALUE , token ));
288
301
return findBy (UNKNOWN_TOKEN_TYPE_FILTER , parameters );
289
302
}
290
303
else if (OAuth2ParameterNames .STATE .equals (tokenType .getValue ())) {
291
304
parameters .add (new SqlParameterValue (Types .VARCHAR , token ));
292
305
return findBy (STATE_FILTER , parameters );
293
306
}
294
307
else if (OAuth2ParameterNames .CODE .equals (tokenType .getValue ())) {
295
- parameters .add (mapToSqlParameter ("authorization_code_value" , token ));
308
+ parameters .add (mapToSqlParameter (AUTHORIZATION_CODE_VALUE , token ));
296
309
return findBy (AUTHORIZATION_CODE_FILTER , parameters );
297
310
}
298
311
else if (OAuth2TokenType .ACCESS_TOKEN .equals (tokenType )) {
299
- parameters .add (mapToSqlParameter ("access_token_value" , token ));
312
+ parameters .add (mapToSqlParameter (ACCESS_TOKEN_VALUE , token ));
300
313
return findBy (ACCESS_TOKEN_FILTER , parameters );
301
314
}
302
315
else if (OidcParameterNames .ID_TOKEN .equals (tokenType .getValue ())) {
303
- parameters .add (mapToSqlParameter ("oidc_id_token_value" , token ));
316
+ parameters .add (mapToSqlParameter (OIDC_ID_TOKEN_VALUE , token ));
304
317
return findBy (ID_TOKEN_FILTER , parameters );
305
318
}
306
319
else if (OAuth2TokenType .REFRESH_TOKEN .equals (tokenType )) {
307
- parameters .add (mapToSqlParameter ("refresh_token_value" , token ));
320
+ parameters .add (mapToSqlParameter (REFRESH_TOKEN_VALUE , token ));
308
321
return findBy (REFRESH_TOKEN_FILTER , parameters );
309
322
}
310
323
else if (OAuth2ParameterNames .USER_CODE .equals (tokenType .getValue ())) {
311
- parameters .add (mapToSqlParameter ("user_code_value" , token ));
324
+ parameters .add (mapToSqlParameter (USER_CODE_VALUE , token ));
312
325
return findBy (USER_CODE_FILTER , parameters );
313
326
}
314
327
else if (OAuth2ParameterNames .DEVICE_CODE .equals (tokenType .getValue ())) {
315
- parameters .add (mapToSqlParameter ("device_code_value" , token ));
328
+ parameters .add (mapToSqlParameter (DEVICE_CODE_VALUE , token ));
316
329
return findBy (DEVICE_CODE_FILTER , parameters );
317
330
}
318
331
return null ;
@@ -375,29 +388,29 @@ private static void initColumnMetadata(JdbcOperations jdbcOperations) {
375
388
376
389
columnMetadata = getColumnMetadata (jdbcOperations , "attributes" , Types .BLOB );
377
390
columnMetadataMap .put (columnMetadata .getColumnName (), columnMetadata );
378
- columnMetadata = getColumnMetadata (jdbcOperations , "authorization_code_value" , Types .BLOB );
391
+ columnMetadata = getColumnMetadata (jdbcOperations , AUTHORIZATION_CODE_VALUE , Types .BLOB );
379
392
columnMetadataMap .put (columnMetadata .getColumnName (), columnMetadata );
380
- columnMetadata = getColumnMetadata (jdbcOperations , "authorization_code_metadata" , Types .BLOB );
393
+ columnMetadata = getColumnMetadata (jdbcOperations , AUTHORIZATION_CODE_METADATA , Types .BLOB );
381
394
columnMetadataMap .put (columnMetadata .getColumnName (), columnMetadata );
382
- columnMetadata = getColumnMetadata (jdbcOperations , "access_token_value" , Types .BLOB );
395
+ columnMetadata = getColumnMetadata (jdbcOperations , ACCESS_TOKEN_VALUE , Types .BLOB );
383
396
columnMetadataMap .put (columnMetadata .getColumnName (), columnMetadata );
384
- columnMetadata = getColumnMetadata (jdbcOperations , "access_token_metadata" , Types .BLOB );
397
+ columnMetadata = getColumnMetadata (jdbcOperations , ACCESS_TOKEN_METADATA , Types .BLOB );
385
398
columnMetadataMap .put (columnMetadata .getColumnName (), columnMetadata );
386
- columnMetadata = getColumnMetadata (jdbcOperations , "oidc_id_token_value" , Types .BLOB );
399
+ columnMetadata = getColumnMetadata (jdbcOperations , OIDC_ID_TOKEN_VALUE , Types .BLOB );
387
400
columnMetadataMap .put (columnMetadata .getColumnName (), columnMetadata );
388
- columnMetadata = getColumnMetadata (jdbcOperations , "oidc_id_token_metadata" , Types .BLOB );
401
+ columnMetadata = getColumnMetadata (jdbcOperations , OIDC_ID_TOKEN_METADATA , Types .BLOB );
389
402
columnMetadataMap .put (columnMetadata .getColumnName (), columnMetadata );
390
- columnMetadata = getColumnMetadata (jdbcOperations , "refresh_token_value" , Types .BLOB );
403
+ columnMetadata = getColumnMetadata (jdbcOperations , REFRESH_TOKEN_VALUE , Types .BLOB );
391
404
columnMetadataMap .put (columnMetadata .getColumnName (), columnMetadata );
392
- columnMetadata = getColumnMetadata (jdbcOperations , "refresh_token_metadata" , Types .BLOB );
405
+ columnMetadata = getColumnMetadata (jdbcOperations , REFRESH_TOKEN_METADATA , Types .BLOB );
393
406
columnMetadataMap .put (columnMetadata .getColumnName (), columnMetadata );
394
- columnMetadata = getColumnMetadata (jdbcOperations , "user_code_value" , Types .BLOB );
407
+ columnMetadata = getColumnMetadata (jdbcOperations , USER_CODE_VALUE , Types .BLOB );
395
408
columnMetadataMap .put (columnMetadata .getColumnName (), columnMetadata );
396
- columnMetadata = getColumnMetadata (jdbcOperations , "user_code_metadata" , Types .BLOB );
409
+ columnMetadata = getColumnMetadata (jdbcOperations , USER_CODE_METADATA , Types .BLOB );
397
410
columnMetadataMap .put (columnMetadata .getColumnName (), columnMetadata );
398
- columnMetadata = getColumnMetadata (jdbcOperations , "device_code_value" , Types .BLOB );
411
+ columnMetadata = getColumnMetadata (jdbcOperations , DEVICE_CODE_VALUE , Types .BLOB );
399
412
columnMetadataMap .put (columnMetadata .getColumnName (), columnMetadata );
400
- columnMetadata = getColumnMetadata (jdbcOperations , "device_code_metadata" , Types .BLOB );
413
+ columnMetadata = getColumnMetadata (jdbcOperations , DEVICE_CODE_METADATA , Types .BLOB );
401
414
columnMetadataMap .put (columnMetadata .getColumnName (), columnMetadata );
402
415
}
403
416
@@ -490,24 +503,24 @@ public OAuth2Authorization mapRow(ResultSet rs, int rowNum) throws SQLException
490
503
491
504
Instant tokenIssuedAt ;
492
505
Instant tokenExpiresAt ;
493
- String authorizationCodeValue = getLobValue (rs , "authorization_code_value" );
506
+ String authorizationCodeValue = getLobValue (rs , AUTHORIZATION_CODE_VALUE );
494
507
495
508
if (StringUtils .hasText (authorizationCodeValue )) {
496
509
tokenIssuedAt = rs .getTimestamp ("authorization_code_issued_at" ).toInstant ();
497
510
tokenExpiresAt = rs .getTimestamp ("authorization_code_expires_at" ).toInstant ();
498
511
Map <String , Object > authorizationCodeMetadata = parseMap (
499
- getLobValue (rs , "authorization_code_metadata" ));
512
+ getLobValue (rs , AUTHORIZATION_CODE_METADATA ));
500
513
501
514
OAuth2AuthorizationCode authorizationCode = new OAuth2AuthorizationCode (authorizationCodeValue ,
502
515
tokenIssuedAt , tokenExpiresAt );
503
516
builder .token (authorizationCode , (metadata ) -> metadata .putAll (authorizationCodeMetadata ));
504
517
}
505
518
506
- String accessTokenValue = getLobValue (rs , "access_token_value" );
519
+ String accessTokenValue = getLobValue (rs , ACCESS_TOKEN_VALUE );
507
520
if (StringUtils .hasText (accessTokenValue )) {
508
521
tokenIssuedAt = rs .getTimestamp ("access_token_issued_at" ).toInstant ();
509
522
tokenExpiresAt = rs .getTimestamp ("access_token_expires_at" ).toInstant ();
510
- Map <String , Object > accessTokenMetadata = parseMap (getLobValue (rs , "access_token_metadata" ));
523
+ Map <String , Object > accessTokenMetadata = parseMap (getLobValue (rs , ACCESS_TOKEN_METADATA ));
511
524
OAuth2AccessToken .TokenType tokenType = null ;
512
525
if (OAuth2AccessToken .TokenType .BEARER .getValue ().equalsIgnoreCase (rs .getString ("access_token_type" ))) {
513
526
tokenType = OAuth2AccessToken .TokenType .BEARER ;
@@ -527,47 +540,47 @@ else if (OAuth2AccessToken.TokenType.DPOP.getValue()
527
540
builder .token (accessToken , (metadata ) -> metadata .putAll (accessTokenMetadata ));
528
541
}
529
542
530
- String oidcIdTokenValue = getLobValue (rs , "oidc_id_token_value" );
543
+ String oidcIdTokenValue = getLobValue (rs , OIDC_ID_TOKEN_VALUE );
531
544
if (StringUtils .hasText (oidcIdTokenValue )) {
532
545
tokenIssuedAt = rs .getTimestamp ("oidc_id_token_issued_at" ).toInstant ();
533
546
tokenExpiresAt = rs .getTimestamp ("oidc_id_token_expires_at" ).toInstant ();
534
- Map <String , Object > oidcTokenMetadata = parseMap (getLobValue (rs , "oidc_id_token_metadata" ));
547
+ Map <String , Object > oidcTokenMetadata = parseMap (getLobValue (rs , OIDC_ID_TOKEN_METADATA ));
535
548
536
549
OidcIdToken oidcToken = new OidcIdToken (oidcIdTokenValue , tokenIssuedAt , tokenExpiresAt ,
537
550
(Map <String , Object >) oidcTokenMetadata .get (OAuth2Authorization .Token .CLAIMS_METADATA_NAME ));
538
551
builder .token (oidcToken , (metadata ) -> metadata .putAll (oidcTokenMetadata ));
539
552
}
540
553
541
- String refreshTokenValue = getLobValue (rs , "refresh_token_value" );
554
+ String refreshTokenValue = getLobValue (rs , REFRESH_TOKEN_VALUE );
542
555
if (StringUtils .hasText (refreshTokenValue )) {
543
556
tokenIssuedAt = rs .getTimestamp ("refresh_token_issued_at" ).toInstant ();
544
557
tokenExpiresAt = null ;
545
558
Timestamp refreshTokenExpiresAt = rs .getTimestamp ("refresh_token_expires_at" );
546
559
if (refreshTokenExpiresAt != null ) {
547
560
tokenExpiresAt = refreshTokenExpiresAt .toInstant ();
548
561
}
549
- Map <String , Object > refreshTokenMetadata = parseMap (getLobValue (rs , "refresh_token_metadata" ));
562
+ Map <String , Object > refreshTokenMetadata = parseMap (getLobValue (rs , REFRESH_TOKEN_METADATA ));
550
563
551
564
OAuth2RefreshToken refreshToken = new OAuth2RefreshToken (refreshTokenValue , tokenIssuedAt ,
552
565
tokenExpiresAt );
553
566
builder .token (refreshToken , (metadata ) -> metadata .putAll (refreshTokenMetadata ));
554
567
}
555
568
556
- String userCodeValue = getLobValue (rs , "user_code_value" );
569
+ String userCodeValue = getLobValue (rs , USER_CODE_VALUE );
557
570
if (StringUtils .hasText (userCodeValue )) {
558
571
tokenIssuedAt = rs .getTimestamp ("user_code_issued_at" ).toInstant ();
559
572
tokenExpiresAt = rs .getTimestamp ("user_code_expires_at" ).toInstant ();
560
- Map <String , Object > userCodeMetadata = parseMap (getLobValue (rs , "user_code_metadata" ));
573
+ Map <String , Object > userCodeMetadata = parseMap (getLobValue (rs , USER_CODE_METADATA ));
561
574
562
575
OAuth2UserCode userCode = new OAuth2UserCode (userCodeValue , tokenIssuedAt , tokenExpiresAt );
563
576
builder .token (userCode , (metadata ) -> metadata .putAll (userCodeMetadata ));
564
577
}
565
578
566
- String deviceCodeValue = getLobValue (rs , "device_code_value" );
579
+ String deviceCodeValue = getLobValue (rs , DEVICE_CODE_VALUE );
567
580
if (StringUtils .hasText (deviceCodeValue )) {
568
581
tokenIssuedAt = rs .getTimestamp ("device_code_issued_at" ).toInstant ();
569
582
tokenExpiresAt = rs .getTimestamp ("device_code_expires_at" ).toInstant ();
570
- Map <String , Object > deviceCodeMetadata = parseMap (getLobValue (rs , "device_code_metadata" ));
583
+ Map <String , Object > deviceCodeMetadata = parseMap (getLobValue (rs , DEVICE_CODE_METADATA ));
571
584
572
585
OAuth2DeviceCode deviceCode = new OAuth2DeviceCode (deviceCodeValue , tokenIssuedAt , tokenExpiresAt );
573
586
builder .token (deviceCode , (metadata ) -> metadata .putAll (deviceCodeMetadata ));
@@ -670,13 +683,13 @@ public List<SqlParameterValue> apply(OAuth2Authorization authorization) {
670
683
671
684
OAuth2Authorization .Token <OAuth2AuthorizationCode > authorizationCode = authorization
672
685
.getToken (OAuth2AuthorizationCode .class );
673
- List <SqlParameterValue > authorizationCodeSqlParameters = toSqlParameterList ("authorization_code_value" ,
674
- "authorization_code_metadata" , authorizationCode );
686
+ List <SqlParameterValue > authorizationCodeSqlParameters = toSqlParameterList (AUTHORIZATION_CODE_VALUE ,
687
+ AUTHORIZATION_CODE_METADATA , authorizationCode );
675
688
parameters .addAll (authorizationCodeSqlParameters );
676
689
677
690
OAuth2Authorization .Token <OAuth2AccessToken > accessToken = authorization .getToken (OAuth2AccessToken .class );
678
- List <SqlParameterValue > accessTokenSqlParameters = toSqlParameterList ("access_token_value" ,
679
- "access_token_metadata" , accessToken );
691
+ List <SqlParameterValue > accessTokenSqlParameters = toSqlParameterList (ACCESS_TOKEN_VALUE ,
692
+ ACCESS_TOKEN_METADATA , accessToken );
680
693
parameters .addAll (accessTokenSqlParameters );
681
694
String accessTokenType = null ;
682
695
String accessTokenScopes = null ;
@@ -691,23 +704,23 @@ public List<SqlParameterValue> apply(OAuth2Authorization authorization) {
691
704
parameters .add (new SqlParameterValue (Types .VARCHAR , accessTokenScopes ));
692
705
693
706
OAuth2Authorization .Token <OidcIdToken > oidcIdToken = authorization .getToken (OidcIdToken .class );
694
- List <SqlParameterValue > oidcIdTokenSqlParameters = toSqlParameterList ("oidc_id_token_value" ,
695
- "oidc_id_token_metadata" , oidcIdToken );
707
+ List <SqlParameterValue > oidcIdTokenSqlParameters = toSqlParameterList (OIDC_ID_TOKEN_VALUE ,
708
+ OIDC_ID_TOKEN_METADATA , oidcIdToken );
696
709
parameters .addAll (oidcIdTokenSqlParameters );
697
710
698
711
OAuth2Authorization .Token <OAuth2RefreshToken > refreshToken = authorization .getRefreshToken ();
699
- List <SqlParameterValue > refreshTokenSqlParameters = toSqlParameterList ("refresh_token_value" ,
700
- "refresh_token_metadata" , refreshToken );
712
+ List <SqlParameterValue > refreshTokenSqlParameters = toSqlParameterList (REFRESH_TOKEN_VALUE ,
713
+ REFRESH_TOKEN_METADATA , refreshToken );
701
714
parameters .addAll (refreshTokenSqlParameters );
702
715
703
716
OAuth2Authorization .Token <OAuth2UserCode > userCode = authorization .getToken (OAuth2UserCode .class );
704
- List <SqlParameterValue > userCodeSqlParameters = toSqlParameterList ("user_code_value" , "user_code_metadata" ,
717
+ List <SqlParameterValue > userCodeSqlParameters = toSqlParameterList (USER_CODE_VALUE , USER_CODE_METADATA ,
705
718
userCode );
706
719
parameters .addAll (userCodeSqlParameters );
707
720
708
721
OAuth2Authorization .Token <OAuth2DeviceCode > deviceCode = authorization .getToken (OAuth2DeviceCode .class );
709
- List <SqlParameterValue > deviceCodeSqlParameters = toSqlParameterList ("device_code_value" ,
710
- "device_code_metadata" , deviceCode );
722
+ List <SqlParameterValue > deviceCodeSqlParameters = toSqlParameterList (DEVICE_CODE_VALUE ,
723
+ DEVICE_CODE_METADATA , deviceCode );
711
724
parameters .addAll (deviceCodeSqlParameters );
712
725
713
726
return parameters ;
0 commit comments