Guest User

Untitled

a guest
Jul 16th, 2018
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.42 KB | None | 0 0
  1. @POST
  2. @Path("/authenticate")
  3. @Consumes(MediaType.APPLICATION_JSON)
  4. @Produces(MediaType.APPLICATION_JSON)
  5. public Response authenticateCredentials(@HeaderParam("email") String email,
  6. @HeaderParam("password") String password, @HeaderParam("accessToken") String accessToken,
  7. @HeaderParam("type") String loginType)
  8. throws JsonGenerationException, JsonMappingException, IOException {
  9.  
  10. logger.info("Authenticating User Credentials...loginType : " + loginType);
  11.  
  12. StatusMessage<Users> statusMessage = null;
  13. String jweSerialization = null;
  14.  
  15. if(loginType == null){
  16. statusMessage = new StatusMessage();
  17. statusMessage.setStatus(Status.PRECONDITION_FAILED.getStatusCode());
  18. statusMessage.setMessage("login type value is missing...");
  19. return Response.status(Status.PRECONDITION_FAILED.getStatusCode()).entity(statusMessage).build();
  20. }
  21.  
  22. LoginType type = LoginType.valueOf(loginType);
  23.  
  24. switch (type) {
  25. case systems:
  26. if(email == null){
  27. statusMessage = new StatusMessage();
  28. statusMessage.setStatus(Status.PRECONDITION_FAILED.getStatusCode());
  29. statusMessage.setMessage("email value is missing...");
  30. return Response.status(Status.PRECONDITION_FAILED.getStatusCode()).entity(statusMessage).build();
  31. }
  32.  
  33. if(password == null){
  34. statusMessage = new StatusMessage();
  35. statusMessage.setStatus(Status.PRECONDITION_FAILED.getStatusCode());
  36. statusMessage.setMessage("password value is missing...");
  37. return Response.status(Status.PRECONDITION_FAILED.getStatusCode()).entity(statusMessage).build();
  38. }
  39.  
  40. Users user = usersDAO.validate(email, password);
  41. logger.info("user after validate : " + user);
  42. if(user == null){
  43. statusMessage = new StatusMessage();
  44. statusMessage.setStatus(Status.NOT_FOUND.getStatusCode());
  45. statusMessage.setMessage("User not found...");
  46. return Response.status(Status.NOT_FOUND.getStatusCode()).entity(statusMessage).build();
  47. }
  48. jweSerialization = getJWEToken(user);
  49. user.setPassword(null); //not return password and OTP
  50. user.setOTP(null);
  51. statusMessage = new StatusMessage<Users>();
  52. statusMessage.setStatus(Status.OK.getStatusCode());
  53. statusMessage.setMessage(jweSerialization);
  54. statusMessage.setData(user);
  55. logger.info("statusMessage : " + statusMessage);
  56.  
  57. return Response.status(Status.OK.getStatusCode()).entity(statusMessage).build();
  58.  
  59. case facebook:
  60. if(email == null){
  61. statusMessage = new StatusMessage<Users>();
  62. statusMessage.setStatus(Status.PRECONDITION_FAILED.getStatusCode());
  63. statusMessage.setMessage("email value is missing...");
  64. return Response.status(Status.PRECONDITION_FAILED.getStatusCode()).entity(statusMessage).build();
  65. }
  66. if(accessToken == null){
  67. statusMessage = new StatusMessage<Users>();
  68. statusMessage.setStatus(Status.PRECONDITION_FAILED.getStatusCode());
  69. statusMessage.setMessage("facebook access token value is missing...");
  70. return Response.status(Status.PRECONDITION_FAILED.getStatusCode()).entity(statusMessage).build();
  71. }
  72.  
  73.  
  74. FacebookAuth facebookAuth = new FacebookAuth();
  75. SocialUser fbUser = facebookAuth.verifySocialUser(accessToken);
  76. if(fbUser == null){
  77. statusMessage = new StatusMessage<Users>();
  78. statusMessage.setStatus(Status.FORBIDDEN.getStatusCode());
  79. statusMessage.setMessage("Fail while verify facebook user...");
  80. return Response.status(Status.FORBIDDEN.getStatusCode()).entity(statusMessage).build();
  81. }
  82.  
  83. Users fb_user = usersDAO.validate(fbUser.getEmail(), null);
  84. if(fb_user == null){
  85. statusMessage = new StatusMessage<Users>();
  86. statusMessage.setStatus(Status.NOT_FOUND.getStatusCode());
  87. statusMessage.setMessage("User not found...");
  88. return Response.status(Status.NOT_FOUND.getStatusCode()).entity(statusMessage).build();
  89. }
  90.  
  91. jweSerialization = getJWEToken(fb_user);
  92. fb_user.setPassword(null); //not return password and OTP
  93. fb_user.setOTP(null);
  94. statusMessage = new StatusMessage<Users>();
  95. statusMessage.setStatus(Status.OK.getStatusCode());
  96. statusMessage.setMessage(jweSerialization);
  97. statusMessage.setData(fb_user);
  98. logger.info("statusMessage : " + statusMessage);
  99.  
  100. return Response.status(Status.OK.getStatusCode()).entity(statusMessage).build();
  101. case google:
  102. if(email == null){
  103. statusMessage = new StatusMessage<Users>();
  104. statusMessage.setStatus(Status.PRECONDITION_FAILED.getStatusCode());
  105. statusMessage.setMessage("email value is missing...");
  106. return Response.status(Status.PRECONDITION_FAILED.getStatusCode()).entity(statusMessage).build();
  107. }
  108. if(accessToken == null){
  109. statusMessage = new StatusMessage<Users>();
  110. statusMessage.setStatus(Status.PRECONDITION_FAILED.getStatusCode());
  111. statusMessage.setMessage("google access token value is missing...");
  112. return Response.status(Status.PRECONDITION_FAILED.getStatusCode()).entity(statusMessage).build();
  113. }
  114.  
  115. GoogleAuth googleAuth = new GoogleAuth();
  116. SocialUser ggUser = googleAuth.verifySocialUser(accessToken);
  117. if(ggUser == null){
  118. statusMessage = new StatusMessage<Users>();
  119. statusMessage.setStatus(Status.FORBIDDEN.getStatusCode());
  120. statusMessage.setMessage("Fail while verify Goolge user...");
  121. return Response.status(Status.FORBIDDEN.getStatusCode()).entity(statusMessage).build();
  122. }
  123.  
  124. Users gg_User = usersDAO.validate(ggUser.getEmail(), null);
  125. if(gg_User == null){
  126. statusMessage = new StatusMessage<Users>();
  127. statusMessage.setStatus(Status.NOT_FOUND.getStatusCode());
  128. statusMessage.setMessage("User not found...");
  129. return Response.status(Status.NOT_FOUND.getStatusCode()).entity(statusMessage).build();
  130. }
  131.  
  132. jweSerialization = getJWEToken(gg_User);
  133. gg_User.setPassword(null); //not return password and OTP
  134. gg_User.setOTP(null);
  135. statusMessage = new StatusMessage<Users>();
  136. statusMessage.setStatus(Status.OK.getStatusCode());
  137. statusMessage.setMessage(jweSerialization);
  138. statusMessage.setData(gg_User);
  139. logger.info("statusMessage : " + statusMessage);
  140.  
  141. return Response.status(Status.OK.getStatusCode()).entity(statusMessage).build();
  142.  
  143. default:
  144. statusMessage = new StatusMessage<Users>();
  145. statusMessage.setStatus(Status.FORBIDDEN.getStatusCode());
  146. statusMessage.setMessage("Wrong login type...");
  147. return Response.status(Status.FORBIDDEN.getStatusCode()).entity(statusMessage).build();
  148. }
  149. }
Add Comment
Please, Sign In to add comment