public JwtPluginPayloadBuilder withPayload(JwtPluginPayload payload) { this.actions = payload.getActions(); this.topic = payload.getTopic(); this.withExpirationDate(payload.getExpiration()); return this; }
public JwtPluginPayload buildPayload() { return new JwtPluginPayload(actions, topic, expiration, tokenType); } }
jwtPluginPayload.getTokenType().equals(TokenType.REFRESH.getId())) { logger.warn(INVALID_TOKEN_TYPE); return ResponseFactory.response(UNAUTHORIZED, new ErrorResponse(UNAUTHORIZED.getStatusCode(), INVALID_TOKEN_TYPE)); if (jwtPluginPayload.getExpiration() != null && jwtPluginPayload.getExpiration().before(timestampService.getDate())) { logger.warn(EXPIRED_TOKEN); return ResponseFactory.response(UNAUTHORIZED, if (jwtPluginPayload.getTopic() != null) { PluginVO pluginVO = pluginService.findByTopic(jwtPluginPayload.getTopic()); if (pluginVO == null) { logger.warn(PLUGIN_NOT_FOUND);
Long creatorId = Optional.ofNullable(payload.getTopic()) .map(topic -> getCreatorId(topic, user)) .orElse(null); JwtPluginPayload refreshPayload = JwtPluginPayload.newBuilder().withPayload(payload) .buildPayload();
/** * Generates a JWT plugin token containing all needed claims. These properties are taken from the specified * JwtUserPayload object. * * @param payload the payload entity with which the token will be generated * @return the JWT plugin token */ public String generateToken(JwtPluginPayload payload, TokenType tokenType, boolean useExpiration) { long maxAge = tokenType.equals(TokenType.ACCESS) ? accessTokenMaxAge : refreshTokenMaxAge; Date expiration = useExpiration && payload.getExpiration() != null ? payload.getExpiration() : timestampService.getDate(System.currentTimeMillis() + maxAge); JwtPluginPayload generatedPayload = (JwtPluginPayload) JwtPluginPayload.newBuilder() .withPayload(payload) .withExpirationDate(expiration) .withTokenType(tokenType.getId()) .buildPayload(); Map<String, Object> jwtMap = new HashMap<>(); jwtMap.put(JwtUserPayload.JWT_CLAIM_KEY, generatedPayload); Claims claims = Jwts.claims(jwtMap); return Jwts.builder() .setClaims(claims) .signWith(SignatureAlgorithm.HS256, jwtSecretService.getJwtSecret()) .compact(); }
private Response getRefreshResponse(JwtPluginPayload payload) { String topic = payload.getTopic(); if (StringUtils.isEmpty(topic)) { logger.warn(INVALID_TOPIC_NAME); return ResponseFactory.response(UNAUTHORIZED, new ErrorResponse(UNAUTHORIZED.getStatusCode(), INVALID_TOPIC_NAME)); } PluginVO pluginVO = pluginService.findByTopic(topic); if (pluginVO == null) { logger.warn(PLUGIN_NOT_FOUND); return ResponseFactory.response(UNAUTHORIZED, new ErrorResponse(UNAUTHORIZED.getStatusCode(), PLUGIN_NOT_FOUND)); } JwtTokenVO responseTokenVO = new JwtTokenVO(); responseTokenVO.setAccessToken(tokenService.generateJwtAccessToken(payload, false)); logger.debug("JwtToken: plugin access token successfully generated with refresh token"); return ResponseFactory.response(CREATED, responseTokenVO, JsonPolicyDef.Policy.JWT_ACCESS_TOKEN_SUBMITTED); }
final String topic = pluginJwtPayload.getTopic(); if (topic != null) { PluginVO existingPlugin = pluginService.findByTopic(topic);
private JwtTokenVO createPluginTokens(String topicName, String authorization) { JwtPluginPayload jwtPluginPayload = new JwtPluginPayload(Collections.singleton(MANAGE_PLUGIN.getId()), topicName, null, null); JwtTokenVO jwtToken = null; try { jwtToken = httpRestHelper.post(authBaseUrl + "/token/plugin/create", gson.toJson(jwtPluginPayload), JwtTokenVO.class, authorization); } catch (ServiceUnavailableException e) { logger.error("Authentication service is not available"); throw new HiveException(e.getMessage(), SERVICE_UNAVAILABLE.getStatusCode()); } return jwtToken; }