1029 reader.beginArray();
1030 while (reader.hasNext()) {
1031 ClientDetailsEntity client =
new ClientDetailsEntity();
1032 reader.beginObject();
1033 while (reader.hasNext()) {
1034 switch (reader.peek()) {
1038 String name = reader.nextName();
1039 if (reader.peek() == JsonToken.NULL) {
1042 client.setClientId(reader.nextString());
1044 Set<String> resourceIds = readSet(reader);
1045 client.setResourceIds(resourceIds);
1046 }
else if (name.equals(
SECRET)) {
1047 client.setClientSecret(reader.nextString());
1048 }
else if (name.equals(
SCOPE)) {
1049 Set<String> scope = readSet(reader);
1050 client.setScope(scope);
1052 Set<String> authorityStrs = readSet(reader);
1053 Set<GrantedAuthority> authorities =
new HashSet<GrantedAuthority>();
1054 for (String s : authorityStrs) {
1055 GrantedAuthority ga =
new SimpleGrantedAuthority(s);
1056 authorities.add(ga);
1058 client.setAuthorities(authorities);
1060 client.setAccessTokenValiditySeconds(reader.nextInt());
1062 client.setRefreshTokenValiditySeconds(reader.nextInt());
1064 client.setIdTokenValiditySeconds(reader.nextInt());
1066 client.setDeviceCodeValiditySeconds(reader.nextInt());
1068 Set<String> redirectUris = readSet(reader);
1069 client.setRedirectUris(redirectUris);
1071 Set<String> claimsRedirectUris = readSet(reader);
1072 client.setClaimsRedirectUris(claimsRedirectUris);
1073 }
else if (name.equals(
NAME)) {
1074 client.setClientName(reader.nextString());
1075 }
else if (name.equals(
URI)) {
1076 client.setClientUri(reader.nextString());
1077 }
else if (name.equals(
LOGO_URI)) {
1078 client.setLogoUri(reader.nextString());
1079 }
else if (name.equals(
CONTACTS)) {
1080 Set<String> contacts = readSet(reader);
1081 client.setContacts(contacts);
1082 }
else if (name.equals(
TOS_URI)) {
1083 client.setTosUri(reader.nextString());
1085 AuthMethod am = AuthMethod.getByValue(reader.nextString());
1086 client.setTokenEndpointAuthMethod(am);
1088 Set<String> grantTypes = readSet(reader);
1089 client.setGrantTypes(grantTypes);
1091 Set<String> responseTypes = readSet(reader);
1092 client.setResponseTypes(responseTypes);
1094 client.setPolicyUri(reader.nextString());
1096 AppType appType = AppType.getByValue(reader.nextString());
1097 client.setApplicationType(appType);
1099 client.setSectorIdentifierUri(reader.nextString());
1101 SubjectType st = SubjectType.getByValue(reader.nextString());
1102 client.setSubjectType(st);
1103 }
else if (name.equals(
JWKS_URI)) {
1104 client.setJwksUri(reader.nextString());
1105 }
else if (name.equals(
JWKS)) {
1107 client.setJwks(JWKSet.parse(reader.nextString()));
1108 }
catch (ParseException e) {
1109 logger.error(
"Couldn't parse JWK Set", e);
1112 JWSAlgorithm alg = JWSAlgorithm.parse(reader.nextString());
1113 client.setRequestObjectSigningAlg(alg);
1115 JWEAlgorithm alg = JWEAlgorithm.parse(reader.nextString());
1116 client.setUserInfoEncryptedResponseAlg(alg);
1118 EncryptionMethod alg = EncryptionMethod.parse(reader.nextString());
1119 client.setUserInfoEncryptedResponseEnc(alg);
1121 JWSAlgorithm alg = JWSAlgorithm.parse(reader.nextString());
1122 client.setUserInfoSignedResponseAlg(alg);
1124 JWSAlgorithm alg = JWSAlgorithm.parse(reader.nextString());
1125 client.setIdTokenSignedResponseAlg(alg);
1127 JWEAlgorithm alg = JWEAlgorithm.parse(reader.nextString());
1128 client.setIdTokenEncryptedResponseAlg(alg);
1130 EncryptionMethod alg = EncryptionMethod.parse(reader.nextString());
1131 client.setIdTokenEncryptedResponseEnc(alg);
1133 JWSAlgorithm alg = JWSAlgorithm.parse(reader.nextString());
1134 client.setTokenEndpointAuthSigningAlg(alg);
1136 client.setDefaultMaxAge(reader.nextInt());
1138 client.setRequireAuthTime(reader.nextBoolean());
1140 Set<String> defaultACRvalues = readSet(reader);
1141 client.setDefaultACRvalues(defaultACRvalues);
1142 }
else if (name.equals(
"initiateLoginUri")) {
1143 client.setInitiateLoginUri(reader.nextString());
1145 Set<String> postLogoutUris = readSet(reader);
1146 client.setPostLogoutRedirectUris(postLogoutUris);
1148 Set<String> requestUris = readSet(reader);
1149 client.setRequestUris(requestUris);
1151 client.setClientDescription(reader.nextString());
1153 client.setAllowIntrospection(reader.nextBoolean());
1155 client.setReuseRefreshToken(reader.nextBoolean());
1157 client.setClearAccessTokensOnRefresh(reader.nextBoolean());
1159 client.setDynamicallyRegistered(reader.nextBoolean());
1161 client.setCodeChallengeMethod(PKCEAlgorithm.parse(reader.nextString()));
1163 client.setSoftwareId(reader.nextString());
1165 client.setSoftwareVersion(reader.nextString());
1168 client.setSoftwareStatement(JWTParser.parse(reader.nextString()));
1169 }
catch (ParseException e) {
1170 logger.error(
"Couldn't parse software statement", e);
1173 Date date =
utcToDate(reader.nextString());
1174 client.setCreatedAt(date);
1176 logger.debug(
"Found unexpected entry");
1181 logger.debug(
"Found unexpected entry");
1190 logger.info(
"Done reading clients");
static final String SOFTWARE_VERSION
Definition: MITREidDataService_1_3.java:151
static final String ID_TOKEN_ENCRYPTED_RESPONSE_ENC
Definition: MITREidDataService_1_3.java:100
OAuth2ClientRepository clientRepository
Definition: MITREidDataService_1_3.java:159
static final String DEFAULT_ACR_VALUES
Definition: MITREidDataService_1_3.java:93
static final String SUBJECT_TYPE
Definition: MITREidDataService_1_3.java:104
static final String USER_INFO_ENCRYPTED_RESPONSE_ALG
Definition: MITREidDataService_1_3.java:98
static final String SECRET
Definition: MITREidDataService_1_3.java:120
static final String DEFAULT_MAX_AGE
Definition: MITREidDataService_1_3.java:95
static final String REQUEST_OBJECT_SIGNING_ALG
Definition: MITREidDataService_1_3.java:103
static final String TOS_URI
Definition: MITREidDataService_1_3.java:112
ClientDetailsEntity saveClient(ClientDetailsEntity client)
static final String DYNAMICALLY_REGISTERED
Definition: MITREidDataService_1_3.java:85
static final String ID_TOKEN_ENCRYPTED_RESPONSE_ALG
Definition: MITREidDataService_1_3.java:101
static final String TOKEN_ENDPOINT_AUTH_SIGNING_ALG
Definition: MITREidDataService_1_3.java:96
static final String TOKEN_ENDPOINT_AUTH_METHOD
Definition: MITREidDataService_1_3.java:111
static final String SOFTWARE_STATEMENT
Definition: MITREidDataService_1_3.java:150
static final String JWKS_URI
Definition: MITREidDataService_1_3.java:108
static final String ID_TOKEN_VALIDITY_SECONDS
Definition: MITREidDataService_1_3.java:118
static final String LOGO_URI
Definition: MITREidDataService_1_3.java:114
static final String CLAIMS_REDIRECT_URIS
Definition: MITREidDataService_1_3.java:147
static final String RESPONSE_TYPES
Definition: MITREidDataService_1_3.java:134
static final String URI
Definition: MITREidDataService_1_3.java:121
static final String REUSE_REFRESH_TOKEN
Definition: MITREidDataService_1_3.java:87
static final String CODE_CHALLENGE_METHOD
Definition: MITREidDataService_1_3.java:149
static final String SCOPE
Definition: MITREidDataService_1_3.java:141
static final String JWKS
Definition: MITREidDataService_1_3.java:107
static final String REQUIRE_AUTH_TIME
Definition: MITREidDataService_1_3.java:94
static final String ACCESS_TOKEN_VALIDITY_SECONDS
Definition: MITREidDataService_1_3.java:117
static final String DEVICE_CODE_VALIDITY_SECONDS
Definition: MITREidDataService_1_3.java:119
static final String DESCRIPTION
Definition: MITREidDataService_1_3.java:89
Date utcToDate(String value)
Definition: MITREidDataServiceSupport.java:39
static final String POLICY_URI
Definition: MITREidDataService_1_3.java:109
static final String REDIRECT_URIS
Definition: MITREidDataService_1_3.java:115
static final String REQUEST_URIS
Definition: MITREidDataService_1_3.java:90
static final String REFRESH_TOKEN_VALIDITY_SECONDS
Definition: MITREidDataService_1_3.java:116
static final String USER_INFO_ENCRYPTED_RESPONSE_ENC
Definition: MITREidDataService_1_3.java:97
static final String CONTACTS
Definition: MITREidDataService_1_3.java:113
static final String ALLOW_INTROSPECTION
Definition: MITREidDataService_1_3.java:88
static final String CLEAR_ACCESS_TOKENS_ON_REFRESH
Definition: MITREidDataService_1_3.java:86
static final String NAME
Definition: MITREidDataService_1_3.java:131
static final String AUTHORITIES
Definition: MITREidDataService_1_3.java:137
static final String CREATION_DATE
Definition: MITREidDataService_1_3.java:127
static final String GRANT_TYPES
Definition: MITREidDataService_1_3.java:110
static final String SOFTWARE_ID
Definition: MITREidDataService_1_3.java:152
static final String CLIENT_ID
Definition: MITREidDataService_1_3.java:145
static final String USER_INFO_SIGNED_RESPONSE_ALG
Definition: MITREidDataService_1_3.java:99
static final String POST_LOGOUT_REDIRECT_URI
Definition: MITREidDataService_1_3.java:91
static final String RESOURCE_IDS
Definition: MITREidDataService_1_3.java:138
static final String APPLICATION_TYPE
Definition: MITREidDataService_1_3.java:106
static final String SECTOR_IDENTIFIER_URI
Definition: MITREidDataService_1_3.java:105
static final String ID_TOKEN_SIGNED_RESPONSE_ALG
Definition: MITREidDataService_1_3.java:102
static final Logger logger
Definition: MITREidDataService_1_3.java:157