Advertisement
Guest User

Untitled

a guest
Dec 18th, 2016
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.85 KB | None | 0 0
  1. package actions;
  2.  
  3. import java.io.IOException;
  4. import java.rmi.RemoteException;
  5. import java.util.Map;
  6.  
  7. import javax.servlet.annotation.WebServlet;
  8. import javax.servlet.http.HttpServlet;
  9. import javax.servlet.http.HttpServletRequest;
  10.  
  11. //import org.apache.catalina.servlet4preview.http.HttpServletRequest;
  12.  
  13. import org.apache.struts2.ServletActionContext;
  14. import org.apache.struts2.interceptor.SessionAware;
  15. import org.json.JSONObject;
  16.  
  17. import com.github.scribejava.apis.FacebookApi;
  18. import com.github.scribejava.core.builder.ServiceBuilder;
  19. import com.github.scribejava.core.model.OAuthRequest;
  20. import com.github.scribejava.core.model.Response;
  21. import com.github.scribejava.core.model.Verb;
  22. import com.github.scribejava.core.oauth.OAuth20Service;
  23. import com.github.scribejava.core.model.OAuth2AccessToken;
  24. import com.opensymphony.xwork2.ActionContext;
  25. import com.opensymphony.xwork2.ActionSupport;
  26.  
  27. import models.LoginBean;
  28. import models.RegistFaceBean;
  29.  
  30. public class RegistoFaceAction extends ActionSupport implements SessionAware{
  31. private static final long serialVersionUID = 1L;
  32. private Map<String, Object> session;
  33. private String code=null;
  34. private static final String NETWORK_NAME = "Facebook";
  35. private static final String PROTECTED_RESOURCE_URL = "https://graph.facebook.com/v2.8/me?locale=pt_PT";
  36. private static final String PROTECTED_RESOURCE_URL_DELETE = "https://graph.facebook.com/v2.8/";
  37.  
  38. private static final String API_APP_KEY = "1817244708492413";
  39. private static final String API_APP_SECRET = "5ba6c1d25899094621c3e532506363ae";
  40.  
  41. private String username1 = null;
  42. private String password = null;
  43. private String fb_id = null;
  44.  
  45. public String execute() {
  46. OAuth20Service service = new ServiceBuilder()
  47. .apiKey(API_APP_KEY)
  48. .apiSecret(API_APP_SECRET)
  49. .scope("publish_actions")
  50. .callback("http://localhost:8080/IBei/tratarRegisto")
  51. .build(FacebookApi.instance());
  52.  
  53.  
  54. HttpServletRequest servletRequest = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
  55. code = servletRequest.getParameter("code");
  56.  
  57. System.out.println(code);
  58.  
  59.  
  60. System.out.println("chega aqui");
  61. OAuth2AccessToken accessToken = null;
  62. try {
  63. accessToken = service.getAccessToken(code);
  64. } catch (IOException e1) {
  65. // TODO Auto-generated catch block
  66. e1.printStackTrace();
  67. }
  68.  
  69. System.out.println("chega aqu2i");
  70.  
  71. System.out.println("Got the Access Token!");
  72.  
  73.  
  74. // Now let's go and ask for a protected resource!
  75.  
  76. System.out.println("Now we're going to access a protected resource...");
  77.  
  78. OAuthRequest request = new OAuthRequest(Verb.GET, PROTECTED_RESOURCE_URL, service.getConfig());
  79. // OAuthRequest request = new OAuthRequest(Verb.DELETE, PROTECTED_RESOURCE_URL_DELETE+userid+"/permissions", service.getConfig());
  80. service.signRequest(accessToken,request);
  81.  
  82. Response response = request.send();
  83.  
  84. String body = null;
  85. try {
  86. body = response.getBody();
  87. } catch (IOException e1) {
  88. // TODO Auto-generated catch block
  89. e1.printStackTrace();
  90. }
  91. JSONObject obj = null;
  92.  
  93. try {
  94. obj = new JSONObject(body);
  95. } catch (Exception e) {
  96. e.printStackTrace();
  97. }
  98.  
  99. username1 = (String) obj.getString("name");
  100. fb_id = ( String) obj.getString("id");
  101.  
  102. System.out.println(username1+fb_id);
  103. this.getRegistBean().setUsername(username1);
  104. this.getRegistBean().setFacebookId(fb_id);
  105.  
  106.  
  107.  
  108. try {
  109. if(!this.getRegistBean().registNewUser())
  110. {
  111. return LOGIN;
  112. }
  113. } catch (RemoteException e) {
  114. // TODO Auto-generated catch block
  115. e.printStackTrace();
  116. }
  117.  
  118. session.put("username", username1);
  119. session.put("faceid", fb_id);
  120. session.put("loggedin", true);
  121. session.put("token", accessToken);
  122.  
  123. return SUCCESS;
  124.  
  125.  
  126. }
  127.  
  128.  
  129. public String remove ()
  130. {
  131. String remove_user = "";
  132. if ( session.containsKey("faceid") )
  133. {
  134. remove_user = (String) session.get("faceid");
  135.  
  136.  
  137. }
  138.  
  139.  
  140. return SUCCESS;
  141.  
  142. }
  143. @Override
  144. public void setSession(Map<String, Object> session) {
  145. // TODO Auto-generated method stub
  146. this.session=session;
  147.  
  148. }
  149.  
  150. public RegistFaceBean getRegistBean() {
  151. if(!session.containsKey("registFaceBean"))
  152. this.setLoginBean(new RegistFaceBean());
  153. return (RegistFaceBean) session.get("registFaceBean");
  154. }
  155.  
  156.  
  157. public void setLoginBean(RegistFaceBean loginBean) {
  158. this.session.put("registFaceBean", loginBean);
  159.  
  160. }
  161.  
  162. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement