Package org.wildfly.security.http.oidc
Class JWTClientCredentialsProvider
java.lang.Object
org.wildfly.security.http.oidc.JWTClientCredentialsProvider
- All Implemented Interfaces:
ClientCredentialsProvider
@MetaInfServices(ClientCredentialsProvider.class)
public class JWTClientCredentialsProvider
extends Object
implements ClientCredentialsProvider
Client authentication based on JWT signed by client private key.
See specs for more details.
- Author:
- Marek Posolda, Farah Juma
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected org.jose4j.jwt.JwtClaimscreateRequestToken(String clientId, String tokenUrl) createSignedRequestToken(String clientId, String tokenUrl) getId()Return the ID of the provider.protected intvoidinit(OidcClientConfiguration oidcClientConfiguration, Object credentialsConfig) Called during deployment of your application.voidsetClientCredentials(OidcClientConfiguration oidcClientConfiguration, Map<String, String> requestHeaders, Map<String, String> formParams) Called every time a backchannel request is performed.voidsetTokenTimeout(int tokenTimeout) voidsetupKeyPair(KeyPair keyPair)
-
Constructor Details
-
JWTClientCredentialsProvider
public JWTClientCredentialsProvider()
-
-
Method Details
-
getId
Description copied from interface:ClientCredentialsProviderReturn the ID of the provider. Use this ID in the oidc.json configuration as the sub-element of the "credentials" element For example if your provider has ID "some-provider", use the configuration like this in oidc.json "credentials": { "some-provider": { "someAttribute": "someValue" } }- Specified by:
getIdin interfaceClientCredentialsProvider- Returns:
- the ID of the provider
-
setupKeyPair
-
setTokenTimeout
public void setTokenTimeout(int tokenTimeout) -
getTokenTimeout
protected int getTokenTimeout() -
getPublicKey
-
init
Description copied from interface:ClientCredentialsProviderCalled during deployment of your application.- Specified by:
initin interfaceClientCredentialsProvider- Parameters:
oidcClientConfiguration- the OIDC client configurationcredentialsConfig- the configuration of your credentials provider read from oidc.json. For the some-provider example above, it will return map with the single key "someAttribute" with value "someValue"
-
setClientCredentials
public void setClientCredentials(OidcClientConfiguration oidcClientConfiguration, Map<String, String> requestHeaders, Map<String, String> formParams) Description copied from interface:ClientCredentialsProviderCalled every time a backchannel request is performed.- Specified by:
setClientCredentialsin interfaceClientCredentialsProvider- Parameters:
oidcClientConfiguration- the fully resolved OIDC client configurationrequestHeaders- You should put any HTTP request headers you want to use for authentication of client. These headers will be attached to the HTTP request sent to the OpenID providerformParams- You should put any request parameters you want to use for authentication of client. These parameters will be attached to the HTTP request sent to the OpenID provider
-
createSignedRequestToken
-
createRequestToken
-