/*
* oxAuth is available under the MIT License (2008). See http://opensource.org/licenses/MIT for full text.
*
* Copyright (c) 2014, Gluu
*/
package org.xdi.oxauth.action;
import java.io.Serializable;
import javax.enterprise.context.SessionScoped;
import javax.faces.context.FacesContext;
import javax.inject.Inject;
import javax.inject.Named;
import org.slf4j.Logger;
import org.xdi.oxauth.client.EndSessionRequest;
/**
* @author Javier Rojas Blum
* @version February 23, 2016
*/
@Named
@SessionScoped
public class EndSessionAction implements Serializable {
private static final long serialVersionUID = 6785573643861198737L;
@Inject
private Logger log;
private String endSessionEndpoint;
private String idTokenHint;
private String postLogoutRedirectUri;
private String state;
private boolean showResults;
private String requestString;
private String responseString;
public void exec() {
try {
EndSessionRequest req = new EndSessionRequest(idTokenHint, postLogoutRedirectUri, state);
String authorizationRequest = endSessionEndpoint + "?" + req.getQueryString();
FacesContext.getCurrentInstance().getExternalContext().redirect(authorizationRequest);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
}
public String getEndSessionEndpoint() {
return endSessionEndpoint;
}
public void setEndSessionEndpoint(String endSessionEndpoint) {
this.endSessionEndpoint = endSessionEndpoint;
}
public String getIdTokenHint() {
return idTokenHint;
}
public void setIdTokenHint(String idTokenHint) {
this.idTokenHint = idTokenHint;
}
public String getPostLogoutRedirectUri() {
return postLogoutRedirectUri;
}
public void setPostLogoutRedirectUri(String postLogoutRedirectUri) {
this.postLogoutRedirectUri = postLogoutRedirectUri;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public boolean isShowResults() {
return showResults;
}
public void setShowResults(boolean showResults) {
this.showResults = showResults;
}
public String getRequestString() {
return requestString;
}
public void setRequestString(String requestString) {
this.requestString = requestString;
}
public String getResponseString() {
return responseString;
}
public void setResponseString(String responseString) {
this.responseString = responseString;
}
}