@PreAuthorize("isAuthenticated()") public Mono<Map<String, String>> fetchFullToken(String authHeader) { LecUtils.ensureCredentials(blueTokenService.parseClaim(authHeader.substring(LecUtils.TOKEN_PREFIX_LENGTH), BlueTokenService.USER_CLAIM) == null, "com.naturalprogrammer.spring.fullTokenNotAllowed"); return LecrUtils.currentUser().map(optionalUser -> { UserDto currentUser = optionalUser.get(); Map<String, Object> claimMap = Collections.singletonMap(BlueTokenService.USER_CLAIM, LecUtils.serialize(currentUser)); // Not serializing converts it to a JsonNode Map<String, String> tokenMap = Collections.singletonMap("token", LecUtils.TOKEN_PREFIX + blueTokenService.createToken(BlueTokenService.AUTH_AUDIENCE, currentUser.getUsername(), Long.valueOf(properties.getJwt().getShortLivedMillis()), claimMap)); return tokenMap; }); }
@PreAuthorize("isAuthenticated()") public Map<String, String> fetchFullToken(String authHeader) { LecUtils.ensureCredentials(blueTokenService.parseClaim(authHeader.substring(LecUtils.TOKEN_PREFIX_LENGTH), BlueTokenService.USER_CLAIM) == null, "com.naturalprogrammer.spring.fullTokenNotAllowed"); UserDto currentUser = LecwUtils.currentUser(); Map<String, Object> claimMap = Collections.singletonMap(BlueTokenService.USER_CLAIM, LecUtils.serialize(currentUser)); // Not serializing converts it to a JsonNode Map<String, String> tokenMap = Collections.singletonMap("token", LecUtils.TOKEN_PREFIX + blueTokenService.createToken(BlueTokenService.AUTH_AUDIENCE, currentUser.getUsername(), Long.valueOf(properties.getJwt().getShortLivedMillis()), claimMap)); return tokenMap; }