Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @POST
- @Path("/authenticate")
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
- public Response authenticateCredentials(@HeaderParam("email") String email,
- @HeaderParam("password") String password, @HeaderParam("accessToken") String accessToken,
- @HeaderParam("type") String loginType)
- throws JsonGenerationException, JsonMappingException, IOException {
- logger.info("Authenticating User Credentials...loginType : " + loginType);
- StatusMessage<Users> statusMessage = null;
- String jweSerialization = null;
- if(loginType == null){
- statusMessage = new StatusMessage();
- statusMessage.setStatus(Status.PRECONDITION_FAILED.getStatusCode());
- statusMessage.setMessage("login type value is missing...");
- return Response.status(Status.PRECONDITION_FAILED.getStatusCode()).entity(statusMessage).build();
- }
- LoginType type = LoginType.valueOf(loginType);
- switch (type) {
- case systems:
- if(email == null){
- statusMessage = new StatusMessage();
- statusMessage.setStatus(Status.PRECONDITION_FAILED.getStatusCode());
- statusMessage.setMessage("email value is missing...");
- return Response.status(Status.PRECONDITION_FAILED.getStatusCode()).entity(statusMessage).build();
- }
- if(password == null){
- statusMessage = new StatusMessage();
- statusMessage.setStatus(Status.PRECONDITION_FAILED.getStatusCode());
- statusMessage.setMessage("password value is missing...");
- return Response.status(Status.PRECONDITION_FAILED.getStatusCode()).entity(statusMessage).build();
- }
- Users user = usersDAO.validate(email, password);
- logger.info("user after validate : " + user);
- if(user == null){
- statusMessage = new StatusMessage();
- statusMessage.setStatus(Status.NOT_FOUND.getStatusCode());
- statusMessage.setMessage("User not found...");
- return Response.status(Status.NOT_FOUND.getStatusCode()).entity(statusMessage).build();
- }
- jweSerialization = getJWEToken(user);
- user.setPassword(null); //not return password and OTP
- user.setOTP(null);
- statusMessage = new StatusMessage<Users>();
- statusMessage.setStatus(Status.OK.getStatusCode());
- statusMessage.setMessage(jweSerialization);
- statusMessage.setData(user);
- logger.info("statusMessage : " + statusMessage);
- return Response.status(Status.OK.getStatusCode()).entity(statusMessage).build();
- case facebook:
- if(email == null){
- statusMessage = new StatusMessage<Users>();
- statusMessage.setStatus(Status.PRECONDITION_FAILED.getStatusCode());
- statusMessage.setMessage("email value is missing...");
- return Response.status(Status.PRECONDITION_FAILED.getStatusCode()).entity(statusMessage).build();
- }
- if(accessToken == null){
- statusMessage = new StatusMessage<Users>();
- statusMessage.setStatus(Status.PRECONDITION_FAILED.getStatusCode());
- statusMessage.setMessage("facebook access token value is missing...");
- return Response.status(Status.PRECONDITION_FAILED.getStatusCode()).entity(statusMessage).build();
- }
- FacebookAuth facebookAuth = new FacebookAuth();
- SocialUser fbUser = facebookAuth.verifySocialUser(accessToken);
- if(fbUser == null){
- statusMessage = new StatusMessage<Users>();
- statusMessage.setStatus(Status.FORBIDDEN.getStatusCode());
- statusMessage.setMessage("Fail while verify facebook user...");
- return Response.status(Status.FORBIDDEN.getStatusCode()).entity(statusMessage).build();
- }
- Users fb_user = usersDAO.validate(fbUser.getEmail(), null);
- if(fb_user == null){
- statusMessage = new StatusMessage<Users>();
- statusMessage.setStatus(Status.NOT_FOUND.getStatusCode());
- statusMessage.setMessage("User not found...");
- return Response.status(Status.NOT_FOUND.getStatusCode()).entity(statusMessage).build();
- }
- jweSerialization = getJWEToken(fb_user);
- fb_user.setPassword(null); //not return password and OTP
- fb_user.setOTP(null);
- statusMessage = new StatusMessage<Users>();
- statusMessage.setStatus(Status.OK.getStatusCode());
- statusMessage.setMessage(jweSerialization);
- statusMessage.setData(fb_user);
- logger.info("statusMessage : " + statusMessage);
- return Response.status(Status.OK.getStatusCode()).entity(statusMessage).build();
- case google:
- if(email == null){
- statusMessage = new StatusMessage<Users>();
- statusMessage.setStatus(Status.PRECONDITION_FAILED.getStatusCode());
- statusMessage.setMessage("email value is missing...");
- return Response.status(Status.PRECONDITION_FAILED.getStatusCode()).entity(statusMessage).build();
- }
- if(accessToken == null){
- statusMessage = new StatusMessage<Users>();
- statusMessage.setStatus(Status.PRECONDITION_FAILED.getStatusCode());
- statusMessage.setMessage("google access token value is missing...");
- return Response.status(Status.PRECONDITION_FAILED.getStatusCode()).entity(statusMessage).build();
- }
- GoogleAuth googleAuth = new GoogleAuth();
- SocialUser ggUser = googleAuth.verifySocialUser(accessToken);
- if(ggUser == null){
- statusMessage = new StatusMessage<Users>();
- statusMessage.setStatus(Status.FORBIDDEN.getStatusCode());
- statusMessage.setMessage("Fail while verify Goolge user...");
- return Response.status(Status.FORBIDDEN.getStatusCode()).entity(statusMessage).build();
- }
- Users gg_User = usersDAO.validate(ggUser.getEmail(), null);
- if(gg_User == null){
- statusMessage = new StatusMessage<Users>();
- statusMessage.setStatus(Status.NOT_FOUND.getStatusCode());
- statusMessage.setMessage("User not found...");
- return Response.status(Status.NOT_FOUND.getStatusCode()).entity(statusMessage).build();
- }
- jweSerialization = getJWEToken(gg_User);
- gg_User.setPassword(null); //not return password and OTP
- gg_User.setOTP(null);
- statusMessage = new StatusMessage<Users>();
- statusMessage.setStatus(Status.OK.getStatusCode());
- statusMessage.setMessage(jweSerialization);
- statusMessage.setData(gg_User);
- logger.info("statusMessage : " + statusMessage);
- return Response.status(Status.OK.getStatusCode()).entity(statusMessage).build();
- default:
- statusMessage = new StatusMessage<Users>();
- statusMessage.setStatus(Status.FORBIDDEN.getStatusCode());
- statusMessage.setMessage("Wrong login type...");
- return Response.status(Status.FORBIDDEN.getStatusCode()).entity(statusMessage).build();
- }
- }
Add Comment
Please, Sign In to add comment