public String extractJwtToken()

in callouts/java/service-callout/src/main/java/example/JwtAuth.java [122:143]


    public String extractJwtToken(HttpHeaders requestHeaders) {

        requestHeaders.getHeaders().getHeadersList().forEach(header -> {
            logger.info("Header: {} = {}", header.getKey(), header.getRawValue());
        });

        Optional<String> jwtToken = requestHeaders.getHeaders().getHeadersList().stream()
                .filter(header -> "Authorization".equalsIgnoreCase(header.getKey()))
                .map(header -> new String(header.getRawValue().toByteArray(), StandardCharsets.UTF_8))
                .findFirst()
                .map(authHeader -> {
                    String[] parts = authHeader.split(" ");
                    if (parts.length == 2 && "Bearer".equalsIgnoreCase(parts[0])) {
                        return parts[1];
                    } else {
                        logger.warn("Authorization header format is invalid.");
                        return null;
                    }
                });

        return jwtToken.orElse(null);
    }