Search in sources :

Example 1 with GrantTypeMetaData

use of org.wso2.carbon.identity.api.server.application.management.v1.GrantTypeMetaData 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;
}
Also used : OAuthIDTokenAlgorithmDTO(org.wso2.carbon.identity.oauth.dto.OAuthIDTokenAlgorithmDTO) OIDCMetaData(org.wso2.carbon.identity.api.server.application.management.v1.OIDCMetaData) OAuthAdminServiceImpl(org.wso2.carbon.identity.oauth.OAuthAdminServiceImpl) ArrayList(java.util.ArrayList) GrantType(org.wso2.carbon.identity.api.server.application.management.v1.GrantType) LinkedList(java.util.LinkedList) GrantTypeMetaData(org.wso2.carbon.identity.api.server.application.management.v1.GrantTypeMetaData) TokenBindingMetaDataDTO(org.wso2.carbon.identity.oauth.dto.TokenBindingMetaDataDTO) MetadataProperty(org.wso2.carbon.identity.api.server.application.management.v1.MetadataProperty)

Aggregations

ArrayList (java.util.ArrayList)1 LinkedList (java.util.LinkedList)1 GrantType (org.wso2.carbon.identity.api.server.application.management.v1.GrantType)1 GrantTypeMetaData (org.wso2.carbon.identity.api.server.application.management.v1.GrantTypeMetaData)1 MetadataProperty (org.wso2.carbon.identity.api.server.application.management.v1.MetadataProperty)1 OIDCMetaData (org.wso2.carbon.identity.api.server.application.management.v1.OIDCMetaData)1 OAuthAdminServiceImpl (org.wso2.carbon.identity.oauth.OAuthAdminServiceImpl)1 OAuthIDTokenAlgorithmDTO (org.wso2.carbon.identity.oauth.dto.OAuthIDTokenAlgorithmDTO)1 TokenBindingMetaDataDTO (org.wso2.carbon.identity.oauth.dto.TokenBindingMetaDataDTO)1