use of io.gravitee.am.common.oauth2.GrantType in project identity-api-server by wso2.
the class ServerApplicationMetadataService method getOIDCMetadata.
/**
* Pull OAuth/OIDC Metadata from OAuthAdminServiceImpl and return.
*
* @return Populated OIDCMetadata object.
*/
public OIDCMetaData getOIDCMetadata() {
OIDCMetaData oidcMetaData = new OIDCMetaData();
OAuthAdminServiceImpl oAuthAdminService = ApplicationManagementServiceHolder.getOAuthAdminService();
List<String> supportedGrantTypes = new LinkedList<>(Arrays.asList(oAuthAdminService.getAllowedGrantTypes()));
List<GrantType> supportedGrantTypeNames = new ArrayList<>();
// Iterate through the standard grant type names and add matching elements.
for (String supportedGrantTypeName : supportedGrantTypes) {
GrantType grantType = new GrantType();
if (getOAuthGrantTypeNames().keySet().contains(supportedGrantTypeName)) {
grantType.setName(supportedGrantTypeName);
grantType.setDisplayName(getOAuthGrantTypeNames().get(supportedGrantTypeName));
} else {
grantType.setName(supportedGrantTypeName);
grantType.setDisplayName(supportedGrantTypeName);
}
supportedGrantTypeNames.add(grantType);
}
// Set extracted grant types.
oidcMetaData.setAllowedGrantTypes(new GrantTypeMetaData().options(supportedGrantTypeNames));
oidcMetaData.setDefaultUserAccessTokenExpiryTime(String.valueOf(oAuthAdminService.getTokenExpiryTimes().getUserAccessTokenExpiryTime()));
oidcMetaData.defaultApplicationAccessTokenExpiryTime(String.valueOf(oAuthAdminService.getTokenExpiryTimes().getApplicationAccessTokenExpiryTime()));
oidcMetaData.defaultRefreshTokenExpiryTime(String.valueOf(oAuthAdminService.getTokenExpiryTimes().getRefreshTokenExpiryTime()));
oidcMetaData.defaultIdTokenExpiryTime(String.valueOf(oAuthAdminService.getTokenExpiryTimes().getIdTokenExpiryTime()));
OAuthIDTokenAlgorithmDTO idTokenAlgorithmDTO = oAuthAdminService.getSupportedIDTokenAlgorithms();
oidcMetaData.setIdTokenEncryptionAlgorithm(new MetadataProperty().defaultValue(idTokenAlgorithmDTO.getDefaultIdTokenEncryptionAlgorithm()).options(idTokenAlgorithmDTO.getSupportedIdTokenEncryptionAlgorithms()));
oidcMetaData.idTokenEncryptionMethod(new MetadataProperty().defaultValue(idTokenAlgorithmDTO.getDefaultIdTokenEncryptionMethod()).options(idTokenAlgorithmDTO.getSupportedIdTokenEncryptionMethods()));
oidcMetaData.setScopeValidators(new MetadataProperty().defaultValue(null).options(Arrays.asList(oAuthAdminService.getAllowedScopeValidators())));
oidcMetaData.accessTokenType(new MetadataProperty().defaultValue(oAuthAdminService.getDefaultTokenType()).options(oAuthAdminService.getSupportedTokenTypes()));
List<TokenBindingMetaDataDTO> supportedTokenBindings = oAuthAdminService.getSupportedTokenBindingsMetaData();
List<String> supportedTokenBindingTypes = new ArrayList<>();
supportedTokenBindingTypes.add("None");
for (TokenBindingMetaDataDTO tokenBindingDTO : supportedTokenBindings) {
supportedTokenBindingTypes.add(tokenBindingDTO.getTokenBindingType());
}
oidcMetaData.setAccessTokenBindingType(new MetadataProperty().defaultValue("None").options(supportedTokenBindingTypes));
return oidcMetaData;
}
Aggregations