Class HttpHeaderTokenPropagator

  • All Implemented Interfaces:
    io.micronaut.core.order.Ordered, TokenPropagator

    @Requires(property="micronaut.security.token.propagation.header.enabled",
              notEquals="false")
    @Singleton
    public class HttpHeaderTokenPropagator
    extends java.lang.Object
    implements TokenPropagator
    Propagates a token based off of a header.
    Since:
    1.4.0
    • Constructor Detail

    • Method Detail

      • writeToken

        public void writeToken​(io.micronaut.http.MutableHttpRequest<?> request,
                               java.lang.String token)
        Writes the token to the request.
        Specified by:
        writeToken in interface TokenPropagator
        Parameters:
        request - The MutableHttpRequest instance
        token - A token ( e.g. JWT token, basic auth token...)
      • findToken

        public java.util.Optional<java.lang.String> findToken​(io.micronaut.http.HttpRequest<?> request)
        Search for a JWT token in a HTTP request.
        Specified by:
        findToken in interface TokenPropagator
        Parameters:
        request - The request to look for the token in
        Returns:
        if the JWT token is found it is returned, empty if not
      • headerValue

        protected java.lang.String headerValue​(java.lang.String token)
        Parameters:
        token - the token being written
        Returns:
        the value which will be written to an HTTP Header
      • extractTokenFromAuthorization

        protected java.util.Optional<java.lang.String> extractTokenFromAuthorization​(java.lang.String authorization)
        Parameters:
        authorization - Authorization header value
        Returns:
        If prefix is 'Bearer' for 'Bearer XXX' it returns 'XXX'