642 while (reader.hasNext()) {
643 ClientDetailsEntity client =
new ClientDetailsEntity();
644 reader.beginObject();
645 while (reader.hasNext()) {
646 switch (reader.peek()) {
650 String name = reader.nextName();
651 if (reader.peek() == JsonToken.NULL) {
654 client.setClientId(reader.nextString());
656 Set<String> resourceIds = readSet(reader);
657 client.setResourceIds(resourceIds);
658 }
else if (name.equals(
SECRET)) {
659 client.setClientSecret(reader.nextString());
660 }
else if (name.equals(
SCOPE)) {
661 Set<String> scope = readSet(reader);
662 client.setScope(scope);
664 Set<String> authorityStrs = readSet(reader);
665 Set<GrantedAuthority> authorities =
new HashSet<GrantedAuthority>();
666 for (String s : authorityStrs) {
667 GrantedAuthority ga =
new SimpleGrantedAuthority(s);
670 client.setAuthorities(authorities);
672 client.setAccessTokenValiditySeconds(reader.nextInt());
674 client.setRefreshTokenValiditySeconds(reader.nextInt());
676 Set<String> redirectUris = readSet(reader);
677 client.setRedirectUris(redirectUris);
679 Set<String> claimsRedirectUris = readSet(reader);
680 client.setClaimsRedirectUris(claimsRedirectUris);
681 }
else if (name.equals(
NAME)) {
682 client.setClientName(reader.nextString());
683 }
else if (name.equals(
URI)) {
684 client.setClientUri(reader.nextString());
686 client.setLogoUri(reader.nextString());
688 Set<String> contacts = readSet(reader);
689 client.setContacts(contacts);
690 }
else if (name.equals(
TOS_URI)) {
691 client.setTosUri(reader.nextString());
693 AuthMethod am = AuthMethod.getByValue(reader.nextString());
694 client.setTokenEndpointAuthMethod(am);
696 Set<String> grantTypes = readSet(reader);
697 client.setGrantTypes(grantTypes);
699 Set<String> responseTypes = readSet(reader);
700 client.setResponseTypes(responseTypes);
702 client.setPolicyUri(reader.nextString());
704 AppType appType = AppType.getByValue(reader.nextString());
705 client.setApplicationType(appType);
707 client.setSectorIdentifierUri(reader.nextString());
709 SubjectType st = SubjectType.getByValue(reader.nextString());
710 client.setSubjectType(st);
712 client.setJwksUri(reader.nextString());
713 }
else if (name.equals(
JWKS)) {
715 client.setJwks(JWKSet.parse(reader.nextString()));
716 }
catch (ParseException e) {
717 logger.error(
"Couldn't parse JWK Set", e);
720 JWSAlgorithm alg = JWSAlgorithm.parse(reader.nextString());
721 client.setRequestObjectSigningAlg(alg);
723 JWEAlgorithm alg = JWEAlgorithm.parse(reader.nextString());
724 client.setUserInfoEncryptedResponseAlg(alg);
726 EncryptionMethod alg = EncryptionMethod.parse(reader.nextString());
727 client.setUserInfoEncryptedResponseEnc(alg);
729 JWSAlgorithm alg = JWSAlgorithm.parse(reader.nextString());
730 client.setUserInfoSignedResponseAlg(alg);
732 JWSAlgorithm alg = JWSAlgorithm.parse(reader.nextString());
733 client.setIdTokenSignedResponseAlg(alg);
735 JWEAlgorithm alg = JWEAlgorithm.parse(reader.nextString());
736 client.setIdTokenEncryptedResponseAlg(alg);
738 EncryptionMethod alg = EncryptionMethod.parse(reader.nextString());
739 client.setIdTokenEncryptedResponseEnc(alg);
741 JWSAlgorithm alg = JWSAlgorithm.parse(reader.nextString());
742 client.setTokenEndpointAuthSigningAlg(alg);
744 client.setDefaultMaxAge(reader.nextInt());
746 client.setRequireAuthTime(reader.nextBoolean());
748 Set<String> defaultACRvalues = readSet(reader);
749 client.setDefaultACRvalues(defaultACRvalues);
750 }
else if (name.equals(
"initiateLoginUri")) {
751 client.setInitiateLoginUri(reader.nextString());
753 Set<String> postLogoutUris = readSet(reader);
754 client.setPostLogoutRedirectUris(postLogoutUris);
756 Set<String> requestUris = readSet(reader);
757 client.setRequestUris(requestUris);
759 client.setClientDescription(reader.nextString());
761 client.setAllowIntrospection(reader.nextBoolean());
763 client.setReuseRefreshToken(reader.nextBoolean());
765 client.setClearAccessTokensOnRefresh(reader.nextBoolean());
767 client.setDynamicallyRegistered(reader.nextBoolean());
769 logger.debug(
"Found unexpected entry");
774 logger.debug(
"Found unexpected entry");
783 logger.info(
"Done reading clients");
static final String ID_TOKEN_SIGNED_RESPONSE_ALG
Definition: MITREidDataService_1_2.java:100
static final String POST_LOGOUT_REDIRECT_URI
Definition: MITREidDataService_1_2.java:89
static final String CLEAR_ACCESS_TOKENS_ON_REFRESH
Definition: MITREidDataService_1_2.java:84
static final String GRANT_TYPES
Definition: MITREidDataService_1_2.java:108
static final String TOKEN_ENDPOINT_AUTH_METHOD
Definition: MITREidDataService_1_2.java:109
static final String CLIENT_ID
Definition: MITREidDataService_1_2.java:141
static final String REDIRECT_URIS
Definition: MITREidDataService_1_2.java:113
static final String DESCRIPTION
Definition: MITREidDataService_1_2.java:87
OAuth2ClientRepository clientRepository
Definition: MITREidDataService_1_2.java:150
static final String SECTOR_IDENTIFIER_URI
Definition: MITREidDataService_1_2.java:103
ClientDetailsEntity saveClient(ClientDetailsEntity client)
static final String TOS_URI
Definition: MITREidDataService_1_2.java:110
static final String ID_TOKEN_ENCRYPTED_RESPONSE_ALG
Definition: MITREidDataService_1_2.java:99
static final Logger logger
Definition: MITREidDataService_1_2.java:148
static final String SCOPE
Definition: MITREidDataService_1_2.java:137
static final String SUBJECT_TYPE
Definition: MITREidDataService_1_2.java:102
static final String CONTACTS
Definition: MITREidDataService_1_2.java:111
static final String TOKEN_ENDPOINT_AUTH_SIGNING_ALG
Definition: MITREidDataService_1_2.java:94
static final String APPLICATION_TYPE
Definition: MITREidDataService_1_2.java:104
static final String USER_INFO_SIGNED_RESPONSE_ALG
Definition: MITREidDataService_1_2.java:97
static final String JWKS_URI
Definition: MITREidDataService_1_2.java:106
static final String ACCESS_TOKEN_VALIDITY_SECONDS
Definition: MITREidDataService_1_2.java:115
static final String NAME
Definition: MITREidDataService_1_2.java:127
static final String RESOURCE_IDS
Definition: MITREidDataService_1_2.java:134
static final String ID_TOKEN_ENCRYPTED_RESPONSE_ENC
Definition: MITREidDataService_1_2.java:98
static final String USER_INFO_ENCRYPTED_RESPONSE_ENC
Definition: MITREidDataService_1_2.java:95
static final String RESPONSE_TYPES
Definition: MITREidDataService_1_2.java:130
static final String URI
Definition: MITREidDataService_1_2.java:117
static final String ALLOW_INTROSPECTION
Definition: MITREidDataService_1_2.java:86
static final String CLAIMS_REDIRECT_URIS
Definition: MITREidDataService_1_2.java:143
static final String USER_INFO_ENCRYPTED_RESPONSE_ALG
Definition: MITREidDataService_1_2.java:96
static final String POLICY_URI
Definition: MITREidDataService_1_2.java:107
static final String LOGO_URI
Definition: MITREidDataService_1_2.java:112
static final String REQUEST_OBJECT_SIGNING_ALG
Definition: MITREidDataService_1_2.java:101
static final String REUSE_REFRESH_TOKEN
Definition: MITREidDataService_1_2.java:85
static final String AUTHORITIES
Definition: MITREidDataService_1_2.java:133
static final String REQUIRE_AUTH_TIME
Definition: MITREidDataService_1_2.java:92
static final String REFRESH_TOKEN_VALIDITY_SECONDS
Definition: MITREidDataService_1_2.java:114
static final String SECRET
Definition: MITREidDataService_1_2.java:116
static final String DYNAMICALLY_REGISTERED
Definition: MITREidDataService_1_2.java:83
static final String DEFAULT_MAX_AGE
Definition: MITREidDataService_1_2.java:93
static final String REQUEST_URIS
Definition: MITREidDataService_1_2.java:88
static final String DEFAULT_ACR_VALUES
Definition: MITREidDataService_1_2.java:91
static final String JWKS
Definition: MITREidDataService_1_2.java:105