keycloak-scim/services/src/main/java/org/keycloak/authentication/RequiredActionContextResult.java
2015-08-11 13:04:40 -04:00

127 lines
3.1 KiB
Java
Executable file

package org.keycloak.authentication;
import org.jboss.resteasy.spi.HttpRequest;
import org.keycloak.ClientConnection;
import org.keycloak.events.EventBuilder;
import org.keycloak.models.ClientSessionModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.UserSessionModel;
import org.keycloak.services.managers.ClientSessionCode;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
* @version $Revision: 1 $
*/
public class RequiredActionContextResult implements RequiredActionContext {
protected UserSessionModel userSession;
protected ClientSessionModel clientSession;
protected RealmModel realm;
protected EventBuilder eventBuilder;
protected KeycloakSession session;
protected Status status;
protected Response challenge;
protected HttpRequest httpRequest;
protected UserModel user;
public RequiredActionContextResult(UserSessionModel userSession, ClientSessionModel clientSession,
RealmModel realm, EventBuilder eventBuilder, KeycloakSession session,
HttpRequest httpRequest,
UserModel user) {
this.userSession = userSession;
this.clientSession = clientSession;
this.realm = realm;
this.eventBuilder = eventBuilder;
this.session = session;
this.httpRequest = httpRequest;
this.user = user;
}
@Override
public EventBuilder getEvent() {
return eventBuilder;
}
@Override
public UserModel getUser() {
return user;
}
@Override
public RealmModel getRealm() {
return realm;
}
@Override
public ClientSessionModel getClientSession() {
return clientSession;
}
@Override
public UserSessionModel getUserSession() {
return userSession;
}
@Override
public ClientConnection getConnection() {
return session.getContext().getConnection();
}
@Override
public UriInfo getUriInfo() {
return session.getContext().getUri();
}
@Override
public KeycloakSession getSession() {
return session;
}
@Override
public HttpRequest getHttpRequest() {
return httpRequest;
}
@Override
public String generateAccessCode(String action) {
ClientSessionCode code = new ClientSessionCode(getRealm(), getClientSession());
code.setAction(action);
return code.getCode();
}
@Override
public Status getStatus() {
return status;
}
@Override
public void challenge(Response response) {
status = Status.CHALLENGE;
challenge = response;
}
@Override
public void failure() {
status = Status.FAILURE;
}
@Override
public void success() {
status = Status.SUCCESS;
}
@Override
public void ignore() {
status = Status.IGNORE;
}
public Response getChallenge() {
return challenge;
}
}