Search in sources :

Example 16 with LoginFormsProvider

use of org.keycloak.forms.login.LoginFormsProvider in project keycloak by keycloak.

the class UsernamePasswordForm method authenticate.

@Override
public void authenticate(AuthenticationFlowContext context) {
    MultivaluedMap<String, String> formData = new MultivaluedMapImpl<>();
    String loginHint = context.getAuthenticationSession().getClientNote(OIDCLoginProtocol.LOGIN_HINT_PARAM);
    String rememberMeUsername = AuthenticationManager.getRememberMeUsername(context.getRealm(), context.getHttpRequest().getHttpHeaders());
    if (context.getUser() != null) {
        LoginFormsProvider form = context.form();
        form.setAttribute(LoginFormsProvider.USERNAME_HIDDEN, true);
        form.setAttribute(LoginFormsProvider.REGISTRATION_DISABLED, true);
        context.getAuthenticationSession().setAuthNote(USER_SET_BEFORE_USERNAME_PASSWORD_AUTH, "true");
    } else {
        context.getAuthenticationSession().removeAuthNote(USER_SET_BEFORE_USERNAME_PASSWORD_AUTH);
        if (loginHint != null || rememberMeUsername != null) {
            if (loginHint != null) {
                formData.add(AuthenticationManager.FORM_USERNAME, loginHint);
            } else {
                formData.add(AuthenticationManager.FORM_USERNAME, rememberMeUsername);
                formData.add("rememberMe", "on");
            }
        }
    }
    Response challengeResponse = challenge(context, formData);
    context.challenge(challengeResponse);
}
Also used : Response(javax.ws.rs.core.Response) LoginFormsProvider(org.keycloak.forms.login.LoginFormsProvider) MultivaluedMapImpl(org.jboss.resteasy.specimpl.MultivaluedMapImpl)

Aggregations

LoginFormsProvider (org.keycloak.forms.login.LoginFormsProvider)16 Response (javax.ws.rs.core.Response)4 UserModel (org.keycloak.models.UserModel)3 URI (java.net.URI)2 WebAuthnAuthenticatorsBean (org.keycloak.forms.login.freemarker.model.WebAuthnAuthenticatorsBean)2 UserSessionModel (org.keycloak.models.UserSessionModel)2 FormMessage (org.keycloak.models.utils.FormMessage)2 AuthenticationSessionModel (org.keycloak.sessions.AuthenticationSessionModel)2 Challenge (com.webauthn4j.data.client.challenge.Challenge)1 DefaultChallenge (com.webauthn4j.data.client.challenge.DefaultChallenge)1 LinkedList (java.util.LinkedList)1 GET (javax.ws.rs.GET)1 Path (javax.ws.rs.Path)1 MultivaluedHashMap (javax.ws.rs.core.MultivaluedHashMap)1 MultivaluedMapImpl (org.jboss.resteasy.specimpl.MultivaluedMapImpl)1 AuthenticationFlowException (org.keycloak.authentication.AuthenticationFlowException)1 SerializedBrokeredIdentityContext (org.keycloak.authentication.authenticators.broker.util.SerializedBrokeredIdentityContext)1 BrokeredIdentityContext (org.keycloak.broker.provider.BrokeredIdentityContext)1 EventBuilder (org.keycloak.events.EventBuilder)1 ActionTokenKeyModel (org.keycloak.models.ActionTokenKeyModel)1