All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.ahus1.keycloak.dropwizard.AbstractKeycloakAuthenticator Maven / Gradle / Ivy

The newest version!
package de.ahus1.keycloak.dropwizard;

import io.dropwizard.auth.AuthenticationException;
import io.dropwizard.auth.Authenticator;
import jakarta.servlet.http.HttpServletRequest;
import org.keycloak.KeycloakSecurityContext;

import java.security.Principal;
import java.util.Optional;

/**
 * Authentication to make it work with Keycloak.
 *
 * @param 

authentication class you will use throughout your application. * You can use AbstractAuthentication as a base class here. */ public abstract class AbstractKeycloakAuthenticator

implements Authenticator { private final KeycloakConfiguration keycloakConfiguration; public AbstractKeycloakAuthenticator(final KeycloakConfiguration keycloakConfiguration) { this.keycloakConfiguration = keycloakConfiguration; } @Override public Optional

authenticate(HttpServletRequest request) throws AuthenticationException { KeycloakSecurityContext securityContext = (KeycloakSecurityContext) request.getAttribute(KeycloakSecurityContext.class.getName()); if (securityContext != null) { return Optional.ofNullable(prepareAuthentication(securityContext, request, keycloakConfiguration)); } else { return Optional.empty(); } } protected abstract P prepareAuthentication(KeycloakSecurityContext securityContext, HttpServletRequest request, KeycloakConfiguration keycloakConfiguration); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy