package com.rau.evoting.beans;
import java.io.IOException;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.rau.evoting.data.SqlDataProvider;
import com.rau.evoting.models.User;
public class Login {
private String appId = "515272745187738";
private String appSecret = "e37f4bd94fc533c364ad291a2ecbba09";
public Login(){
}
public void fbLogin(ActionEvent event) {
String fUrl = "https://www.facebook.com/dialog/oauth?"
+ "client_id=" + appId + "&"
+ "redirect_uri=" + "http://localhost:8080/Evoting/Home.xhtml" +"&"
+ "scope=publish_stream,user_groups,status_update&"
+ "response_type=code";
HttpServletResponse response = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
try {
response.sendRedirect(fUrl);
System.out.println(fUrl);
} catch (IOException e) {
e.printStackTrace();
System.out.println("Error while login");
}
}
public void fbLogout(ActionEvent event) {
FacesContext context = FacesContext.getCurrentInstance();
//Elections electionsBean = (Elections) context.getApplication().evaluateExpressionGet(context, "#{elections}", Elections.class);
String accessToken = (String)FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("accessToken");
String fUrl = "https://www.facebook.com/logout.php?next=http://localhost:8080/Evoting/Login.xhtml&access_token=" + accessToken;
HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();
HttpServletRequest request = (HttpServletRequest) context.getExternalContext().getRequest();
if(request.getSession(false) != null) {
request.getSession(false).invalidate();
}
try {
context.getExternalContext().redirect(fUrl);
System.out.println(fUrl);
} catch (IOException e) {
e.printStackTrace();
System.out.println("Error");
}
}
public String logout() throws IOException {
FacesContext.getCurrentInstance().getExternalContext().invalidateSession();
FacesContext.getCurrentInstance().getExternalContext().redirect("Login.xhtml");
return "";
}
}