Package com.ibm.websphere.security.jwt
Class JwtHeaderInjecter
- java.lang.Object
- 
- com.ibm.websphere.security.jwt.JwtHeaderInjecter
 
- 
- All Implemented Interfaces:
- javax.ws.rs.client.ClientRequestFilter
 
 public class JwtHeaderInjecter extends java.lang.Object implements javax.ws.rs.client.ClientRequestFilterThese jax-rs client request filter APIs retrieve the JWT token from the subject on the thread or self issue a JWT token and then adds the token to the jax-rs client request header to propagate the JWT token. 
 
 The code snippet that is shown here demonstrate how to use these APIs to propagate the token.
 - Sample code to propagate the JWT Token
- 
 // 1. Create a jax-rs client javax.ws.rs.client.Client client = javax.ws.rs.client.ClientBuilder.newClient(); // 2. Register the jwt client request filter api using one of the three ways shown here client.register(new JwtHeaderInjecter()); or client.register(new JwtHeaderInjecter("customHeader")); or client.register(new JwtHeaderInjecter("customHeader","jwtBuilder")); // 3. Make REST request - The jwt token from the subject on the thread will be added to the default header "Authorization" or to the custom header String response = client.target(requesturl).request("text/plain").get(String.class)
 - Since:
- 1.1
 
- 
- 
Constructor SummaryConstructors Constructor Description JwtHeaderInjecter()Retrieves the JWT token from the Subject on the thread.JwtHeaderInjecter(java.lang.String headername)Retrieves the JWT token from the Subject on the thread.JwtHeaderInjecter(java.lang.String headername, java.lang.String builder)Self issues a JWT token using the specified JWT builder configuration.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidfilter(javax.ws.rs.client.ClientRequestContext requestContext)Adds the JWT token to the Authorization header in the jax-rs client requests to propagate the token.
 
- 
- 
- 
Constructor Detail- 
JwtHeaderInjecterpublic JwtHeaderInjecter() throws java.lang.ExceptionRetrieves the JWT token from the Subject on the thread. The filter will add the JWT token to the Authorization header using the default header "Authorization".- Throws:
- java.lang.Exception
 
 - 
JwtHeaderInjecterpublic JwtHeaderInjecter(java.lang.String headername) throws java.lang.ExceptionRetrieves the JWT token from the Subject on the thread. The filter will add the JWT token to the header using the specified header name.- Parameters:
- headername- custom header name to use.
- Throws:
- java.lang.Exception
 
 - 
JwtHeaderInjecterpublic JwtHeaderInjecter(java.lang.String headername, java.lang.String builder) throws java.lang.ExceptionSelf issues a JWT token using the specified JWT builder configuration. The filter will add the JWT token to the header using the specified header name.- Parameters:
- headername- custom header name to use.
- builder- ID of a corresponding- jwtBuilderelement in the server configuration.
- Throws:
- java.lang.Exception
 
 
- 
 - 
Method Detail- 
filterpublic void filter(javax.ws.rs.client.ClientRequestContext requestContext) Adds the JWT token to the Authorization header in the jax-rs client requests to propagate the token.- Specified by:
- filterin interface- javax.ws.rs.client.ClientRequestFilter
- Parameters:
- requestContext- jax-rs client request context
 
 
- 
 
-