Class HttpTokenSupport

java.lang.Object
eu.mrapik.minecraftservermcp.security.HttpTokenSupport

public final class HttpTokenSupport extends Object
Extracts the MCP access token from HTTP requests in two supported shapes:
  • Authorization: Bearer <token>
  • HEADER_MCP_TOKEN: <token> (plain header value)
The servlet variant reads HttpServletRequest headers; the map variant supports the MCP transport's header map during the security validation callback (header names matched case-insensitively).
  • Field Details

    • HEADER_AUTHORIZATION

      public static final String HEADER_AUTHORIZATION
      HTTP header name for Authorization (Bearer token).
      See Also:
    • HEADER_MCP_TOKEN

      public static final String HEADER_MCP_TOKEN
      HTTP header name for a raw token when not using Bearer.
      See Also:
  • Method Details

    • extractToken

      @Nullable public static @Nullable String extractToken(jakarta.servlet.http.HttpServletRequest request)
      Bearer wins if present and non-blank; otherwise the dedicated MCP header.
      Parameters:
      request - servlet request from Jetty
      Returns:
      token string, or null if neither header yields a value
    • extractTokenFromHeaderMap

      @Nullable public static @Nullable String extractTokenFromHeaderMap(Map<String,List<String>> headers)
      Same precedence as extractToken(HttpServletRequest) for the header map used by streamable HTTP validation.
      Parameters:
      headers - multimap of header names to values
      Returns:
      token string, or null if not found