Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package actions;
- import java.io.IOException;
- import java.rmi.RemoteException;
- import java.util.Map;
- import javax.servlet.annotation.WebServlet;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- //import org.apache.catalina.servlet4preview.http.HttpServletRequest;
- import org.apache.struts2.ServletActionContext;
- import org.apache.struts2.interceptor.SessionAware;
- import org.json.JSONObject;
- import com.github.scribejava.apis.FacebookApi;
- import com.github.scribejava.core.builder.ServiceBuilder;
- import com.github.scribejava.core.model.OAuthRequest;
- import com.github.scribejava.core.model.Response;
- import com.github.scribejava.core.model.Verb;
- import com.github.scribejava.core.oauth.OAuth20Service;
- import com.github.scribejava.core.model.OAuth2AccessToken;
- import com.opensymphony.xwork2.ActionContext;
- import com.opensymphony.xwork2.ActionSupport;
- import models.LoginBean;
- import models.RegistFaceBean;
- public class RegistoFaceAction extends ActionSupport implements SessionAware{
- private static final long serialVersionUID = 1L;
- private Map<String, Object> session;
- private String code=null;
- private static final String NETWORK_NAME = "Facebook";
- private static final String PROTECTED_RESOURCE_URL = "https://graph.facebook.com/v2.8/me?locale=pt_PT";
- private static final String PROTECTED_RESOURCE_URL_DELETE = "https://graph.facebook.com/v2.8/";
- private static final String API_APP_KEY = "1817244708492413";
- private static final String API_APP_SECRET = "5ba6c1d25899094621c3e532506363ae";
- private String username1 = null;
- private String password = null;
- private String fb_id = null;
- public String execute() {
- OAuth20Service service = new ServiceBuilder()
- .apiKey(API_APP_KEY)
- .apiSecret(API_APP_SECRET)
- .scope("publish_actions")
- .callback("http://localhost:8080/IBei/tratarRegisto")
- .build(FacebookApi.instance());
- HttpServletRequest servletRequest = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
- code = servletRequest.getParameter("code");
- System.out.println(code);
- System.out.println("chega aqui");
- OAuth2AccessToken accessToken = null;
- try {
- accessToken = service.getAccessToken(code);
- } catch (IOException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }
- System.out.println("chega aqu2i");
- System.out.println("Got the Access Token!");
- // Now let's go and ask for a protected resource!
- System.out.println("Now we're going to access a protected resource...");
- OAuthRequest request = new OAuthRequest(Verb.GET, PROTECTED_RESOURCE_URL, service.getConfig());
- // OAuthRequest request = new OAuthRequest(Verb.DELETE, PROTECTED_RESOURCE_URL_DELETE+userid+"/permissions", service.getConfig());
- service.signRequest(accessToken,request);
- Response response = request.send();
- String body = null;
- try {
- body = response.getBody();
- } catch (IOException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }
- JSONObject obj = null;
- try {
- obj = new JSONObject(body);
- } catch (Exception e) {
- e.printStackTrace();
- }
- username1 = (String) obj.getString("name");
- fb_id = ( String) obj.getString("id");
- System.out.println(username1+fb_id);
- this.getRegistBean().setUsername(username1);
- this.getRegistBean().setFacebookId(fb_id);
- try {
- if(!this.getRegistBean().registNewUser())
- {
- return LOGIN;
- }
- } catch (RemoteException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- session.put("username", username1);
- session.put("faceid", fb_id);
- session.put("loggedin", true);
- session.put("token", accessToken);
- return SUCCESS;
- }
- public String remove ()
- {
- String remove_user = "";
- if ( session.containsKey("faceid") )
- {
- remove_user = (String) session.get("faceid");
- }
- return SUCCESS;
- }
- @Override
- public void setSession(Map<String, Object> session) {
- // TODO Auto-generated method stub
- this.session=session;
- }
- public RegistFaceBean getRegistBean() {
- if(!session.containsKey("registFaceBean"))
- this.setLoginBean(new RegistFaceBean());
- return (RegistFaceBean) session.get("registFaceBean");
- }
- public void setLoginBean(RegistFaceBean loginBean) {
- this.session.put("registFaceBean", loginBean);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement