Search in sources :

Example 1 with AuthorizationUrlBuilder

use of com.github.scribejava.core.oauth.AuthorizationUrlBuilder in project pac4j by pac4j.

the class OAuth20RedirectionActionBuilder method getRedirectionAction.

@Override
public Optional<RedirectionAction> getRedirectionAction(final WebContext context, final SessionStore sessionStore) {
    try {
        final String state;
        if (configuration.isWithState()) {
            state = this.configuration.getStateGenerator().generateValue(context, sessionStore);
            logger.debug("save sessionState: {}", state);
            sessionStore.set(context, client.getStateSessionAttributeName(), state);
        } else {
            state = null;
        }
        final var service = (OAuth20Service) this.configuration.buildService(context, client);
        final var authorizationUrl = new AuthorizationUrlBuilder(service).state(state).additionalParams(this.configuration.getCustomParams()).build();
        logger.debug("authorizationUrl: {}", authorizationUrl);
        return Optional.of(HttpActionHelper.buildRedirectUrlAction(context, authorizationUrl));
    } catch (final OAuthException e) {
        throw new TechnicalException(e);
    }
}
Also used : TechnicalException(org.pac4j.core.exception.TechnicalException) OAuthException(com.github.scribejava.core.exceptions.OAuthException) AuthorizationUrlBuilder(com.github.scribejava.core.oauth.AuthorizationUrlBuilder) OAuth20Service(com.github.scribejava.core.oauth.OAuth20Service)

Aggregations

OAuthException (com.github.scribejava.core.exceptions.OAuthException)1 AuthorizationUrlBuilder (com.github.scribejava.core.oauth.AuthorizationUrlBuilder)1 OAuth20Service (com.github.scribejava.core.oauth.OAuth20Service)1 TechnicalException (org.pac4j.core.exception.TechnicalException)1