Search in sources :

Example 1 with TokenRequestResolver

use of io.gravitee.am.gateway.handler.oauth2.service.request.TokenRequestResolver in project gravitee-access-management by gravitee-io.

the class ExtensionGrantManagerImpl method updateExtensionGrantProvider.

private void updateExtensionGrantProvider(ExtensionGrant extensionGrant) {
    try {
        AuthenticationProvider authenticationProvider = null;
        if (extensionGrant.getIdentityProvider() != null) {
            logger.info("\tLooking for extension grant identity provider: {}", extensionGrant.getIdentityProvider());
            authenticationProvider = identityProviderManager.get(extensionGrant.getIdentityProvider()).blockingGet();
            if (authenticationProvider != null) {
                logger.info("\tExtension grant identity provider: {}, loaded", extensionGrant.getIdentityProvider());
            }
        }
        ExtensionGrantProvider extensionGrantProvider = extensionGrantPluginManager.create(extensionGrant.getType(), extensionGrant.getConfiguration(), authenticationProvider);
        ExtensionGrantGranter extensionGrantGranter = new ExtensionGrantGranter(extensionGrantProvider, extensionGrant, userAuthenticationManager, tokenService, tokenRequestResolver, identityProviderManager, userService);
        // backward compatibility, set min date to the extension grant granter to choose the good one for the old clients
        extensionGrantGranter.setMinDate(minDate);
        ((CompositeTokenGranter) tokenGranter).addTokenGranter(extensionGrant.getId(), extensionGrantGranter);
        extensionGrants.put(extensionGrant.getId(), extensionGrant);
        extensionGrantGranters.put(extensionGrant.getId(), extensionGrantGranter);
    } catch (Exception ex) {
        // failed to load the plugin
        logger.error("An error occurs while initializing the extension grant : {}", extensionGrant.getName(), ex);
        removeExtensionGrant(extensionGrant.getId());
    }
}
Also used : CompositeTokenGranter(io.gravitee.am.gateway.handler.oauth2.service.granter.CompositeTokenGranter) AuthenticationProvider(io.gravitee.am.identityprovider.api.AuthenticationProvider) ExtensionGrantProvider(io.gravitee.am.extensiongrant.api.ExtensionGrantProvider) ExtensionGrantGranter(io.gravitee.am.gateway.handler.oauth2.service.granter.extensiongrant.ExtensionGrantGranter)

Example 2 with TokenRequestResolver

use of io.gravitee.am.gateway.handler.oauth2.service.request.TokenRequestResolver in project gravitee-access-management by gravitee-io.

the class CompositeTokenGranter method afterPropertiesSet.

@Override
public void afterPropertiesSet() {
    this.tokenRequestResolver.setScopeManager(this.scopeManager);
    addTokenGranter(GrantType.CLIENT_CREDENTIALS, new ClientCredentialsTokenGranter(tokenRequestResolver, tokenService));
    addTokenGranter(GrantType.PASSWORD, new ResourceOwnerPasswordCredentialsTokenGranter(tokenRequestResolver, tokenService, userAuthenticationManager));
    addTokenGranter(GrantType.AUTHORIZATION_CODE, new AuthorizationCodeTokenGranter(tokenRequestResolver, tokenService, authorizationCodeService, userAuthenticationManager, authenticationFlowContextService, environment));
    addTokenGranter(GrantType.REFRESH_TOKEN, new RefreshTokenGranter(tokenRequestResolver, tokenService, userAuthenticationManager));
    addTokenGranter(GrantType.UMA, new UMATokenGranter(tokenService, userAuthenticationManager, permissionTicketService, resourceService, jwtService, domain, rulesEngine, executionContextFactory));
    addTokenGranter(GrantType.CIBA_GRANT_TYPE, new CibaTokenGranter(tokenRequestResolver, tokenService, userAuthenticationManager, authenticationRequestService, domain));
}
Also used : UMATokenGranter(io.gravitee.am.gateway.handler.oauth2.service.granter.uma.UMATokenGranter) ResourceOwnerPasswordCredentialsTokenGranter(io.gravitee.am.gateway.handler.oauth2.service.granter.password.ResourceOwnerPasswordCredentialsTokenGranter) AuthorizationCodeTokenGranter(io.gravitee.am.gateway.handler.oauth2.service.granter.code.AuthorizationCodeTokenGranter) CibaTokenGranter(io.gravitee.am.gateway.handler.oauth2.service.granter.ciba.CibaTokenGranter) ClientCredentialsTokenGranter(io.gravitee.am.gateway.handler.oauth2.service.granter.client.ClientCredentialsTokenGranter) RefreshTokenGranter(io.gravitee.am.gateway.handler.oauth2.service.granter.refresh.RefreshTokenGranter)

Aggregations

ExtensionGrantProvider (io.gravitee.am.extensiongrant.api.ExtensionGrantProvider)1 CompositeTokenGranter (io.gravitee.am.gateway.handler.oauth2.service.granter.CompositeTokenGranter)1 CibaTokenGranter (io.gravitee.am.gateway.handler.oauth2.service.granter.ciba.CibaTokenGranter)1 ClientCredentialsTokenGranter (io.gravitee.am.gateway.handler.oauth2.service.granter.client.ClientCredentialsTokenGranter)1 AuthorizationCodeTokenGranter (io.gravitee.am.gateway.handler.oauth2.service.granter.code.AuthorizationCodeTokenGranter)1 ExtensionGrantGranter (io.gravitee.am.gateway.handler.oauth2.service.granter.extensiongrant.ExtensionGrantGranter)1 ResourceOwnerPasswordCredentialsTokenGranter (io.gravitee.am.gateway.handler.oauth2.service.granter.password.ResourceOwnerPasswordCredentialsTokenGranter)1 RefreshTokenGranter (io.gravitee.am.gateway.handler.oauth2.service.granter.refresh.RefreshTokenGranter)1 UMATokenGranter (io.gravitee.am.gateway.handler.oauth2.service.granter.uma.UMATokenGranter)1 AuthenticationProvider (io.gravitee.am.identityprovider.api.AuthenticationProvider)1