Class ClientCredentialsHeaderTokenPropagator
- java.lang.Object
-
- io.micronaut.security.oauth2.client.clientcredentials.propagation.ClientCredentialsHeaderTokenPropagator
-
- All Implemented Interfaces:
io.micronaut.core.order.Ordered,ClientCredentialsTokenPropagator
- Direct Known Subclasses:
DefaultClientCredentialsTokenPropagator
@Internal @EachBean(OauthClientConfiguration.class) @Requires(condition=ClientCredentialsEnabled.class) @Requires(condition=ClientCredentialsHeaderPropagatorEnabled.class) public class ClientCredentialsHeaderTokenPropagator extends java.lang.Object implements ClientCredentialsTokenPropagator
Propagates a token obtained via client credentials based off of a header.- Since:
- 2.2.0
-
-
Field Summary
Fields Modifier and Type Field Description protected ClientCredentialsHeaderTokenPropagatorConfigurationconfigurationstatic java.lang.StringSPACE
-
Constructor Summary
Constructors Constructor Description ClientCredentialsHeaderTokenPropagator(ClientCredentialsHeaderTokenPropagatorConfiguration configuration)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.util.Optional<java.lang.String>extractTokenFromAuthorization(java.lang.String authorization)java.util.Optional<java.lang.String>findToken(io.micronaut.http.HttpRequest<?> request)Search for a JWT token in a HTTP request.ClientCredentialsHeaderTokenPropagatorConfigurationgetConfiguration()protected java.lang.StringheaderValue(java.lang.String token)voidwriteToken(io.micronaut.http.MutableHttpRequest<?> request, java.lang.String token)Writes the token to the request.
-
-
-
Field Detail
-
SPACE
public static final java.lang.String SPACE
- See Also:
- Constant Field Values
-
configuration
protected final ClientCredentialsHeaderTokenPropagatorConfiguration configuration
-
-
Constructor Detail
-
ClientCredentialsHeaderTokenPropagator
public ClientCredentialsHeaderTokenPropagator(ClientCredentialsHeaderTokenPropagatorConfiguration configuration)
- Parameters:
configuration- The token propagator configuration
-
-
Method Detail
-
writeToken
public void writeToken(@NonNull io.micronaut.http.MutableHttpRequest<?> request, @NonNull java.lang.String token)Writes the token to the request.- Specified by:
writeTokenin interfaceClientCredentialsTokenPropagator- Parameters:
request- TheMutableHttpRequestinstancetoken- A token ( e.g. JWT token, basic auth token...)
-
findToken
public java.util.Optional<java.lang.String> findToken(@NonNull io.micronaut.http.HttpRequest<?> request)Search for a JWT token in a HTTP request.- Specified by:
findTokenin interfaceClientCredentialsTokenPropagator- 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'
-
getConfiguration
public ClientCredentialsHeaderTokenPropagatorConfiguration getConfiguration()
- Returns:
- The HttpHeaderTokenPropagator Configuration
-
-