@Transactional(propagation = Propagation.NOT_SUPPORTED) public JwtTokenVO createJwtToken(@NotNull final JwtRequestVO request) { hiveValidator.validate(request); if (StringUtils.isBlank(request.getLogin()) || StringUtils.isEmpty(request.getPassword())) { logger.error(Messages.INVALID_AUTH_REQUEST_PARAMETERS); throw new HiveException(Messages.INVALID_AUTH_REQUEST_PARAMETERS, Response.Status.BAD_REQUEST.getStatusCode()); } final UserVO user = userService.getActiveUser(request.getLogin(), request.getPassword()); return createJwtToken(user); }
@HiveWebsocketAuth @PreAuthorize("permitAll") public void processLogin(JsonObject request, WebSocketSession session) throws IOException { JwtRequestVO loginRequest = new JwtRequestVO(); if (request.get("login") != null) { loginRequest.setLogin(request.get("login").getAsString()); } if (request.get("password") != null) { loginRequest.setPassword(request.get("password").getAsString()); } String loginRequestStr = gson.toJson(loginRequest); JwtTokenVO jwtToken = null; try { jwtToken = httpRestHelper.post(authBaseUrl + "/token", loginRequestStr, JwtTokenVO.class, null); } catch (ServiceUnavailableException e) { throw new HiveException(e.getMessage(), SC_SERVICE_UNAVAILABLE); } WebSocketResponse response = new WebSocketResponse(); response.addValue("accessToken", jwtToken.getAccessToken()); response.addValue("refreshToken", jwtToken.getRefreshToken()); clientHandler.sendMessage(request, response, session); }