Top Description Fields Constructors Methods
org.keycloak.protocol.oidc.client.authentication

public Class ClientIdAndSecretCredentialsProvider

extends Object
implements ClientCredentialsProvider
Class Inheritance
All Implemented Interfaces
org.keycloak.protocol.oidc.client.authentication.ClientCredentialsProvider
Imports
java.util.Map, org.jboss.logging.Logger, org.keycloak.OAuth2Constants, org.keycloak.representations.adapters.config.AdapterConfig, org.keycloak.representations.idm.CredentialRepresentation, org.keycloak.util.BasicAuthHelper

Traditional OAuth2 authentication of clients based on client_id and client_secret
Author
Marek Posolda

Field Summary

Modifier and TypeField and Description
private String
private static Logger
public static final String

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public String
public void
init(AdapterConfig
the adapter configuration
deployment
,
Object
the configuration of your provider read from keycloak.json . For the kerberos-keytab example above, it will return map with the single key "keytab" with value "/tmp/foo"
config
)

Implements org.keycloak.protocol.oidc.client.authentication.ClientCredentialsProvider.init.

Called by adapter during deployment of your application.
public void
setClientCredentials(AdapterConfig
Fully resolved deployment
deployment
,
Map<String, String>
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 Keycloak server
requestHeaders
,
Map<String, String>
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 Keycloak server
formParams
)

Implements org.keycloak.protocol.oidc.client.authentication.ClientCredentialsProvider.setClientCredentials.

Called every time adapter needs to perform backchannel request
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

clientSecretback to summary
private String clientSecret
loggerback to summary
private static Logger logger
PROVIDER_IDback to summary
public static final String PROVIDER_ID

Constructor Detail

ClientIdAndSecretCredentialsProviderback to summary
public ClientIdAndSecretCredentialsProvider()

Method Detail

getIdback to summary
public String getId()

Implements org.keycloak.protocol.oidc.client.authentication.ClientCredentialsProvider.getId.

Doc from org.keycloak.protocol.oidc.client.authentication.ClientCredentialsProvider.getId.

Return the ID of the provider. Use this ID in the keycloak.json configuration as the subelement of the "credentials" element For example if your provider has ID "kerberos-keytab" , use the configuration like this in keycloak.json "credentials": { "kerberos-keytab": { "keytab": "/tmp/foo" } }

Annotations
@Override
initback to summary
public void init(AdapterConfig deployment, Object config)

Implements org.keycloak.protocol.oidc.client.authentication.ClientCredentialsProvider.init.

Doc from org.keycloak.protocol.oidc.client.authentication.ClientCredentialsProvider.init.

Called by adapter during deployment of your application. You can for example read configuration and init your authenticator here

Parameters
deployment:AdapterConfig

the adapter configuration

config:Object

the configuration of your provider read from keycloak.json . For the kerberos-keytab example above, it will return map with the single key "keytab" with value "/tmp/foo"

Annotations
@Override
setClientCredentialsback to summary
public void setClientCredentials(AdapterConfig deployment, Map<String, String> requestHeaders, Map<String, String> formParams)

Implements org.keycloak.protocol.oidc.client.authentication.ClientCredentialsProvider.setClientCredentials.

Doc from org.keycloak.protocol.oidc.client.authentication.ClientCredentialsProvider.setClientCredentials.

Called every time adapter needs to perform backchannel request

Parameters
deployment:AdapterConfig

Fully resolved deployment

requestHeaders:Map<String, String>

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 Keycloak server

formParams:Map<String, String>

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 Keycloak server

Annotations
@Override