Class ClientIdAndSecretCredentialsProvider
- java.lang.Object
-
- org.keycloak.protocol.oidc.client.authentication.ClientIdAndSecretCredentialsProvider
-
- All Implemented Interfaces:
ClientCredentialsProvider
public class ClientIdAndSecretCredentialsProvider extends Object implements ClientCredentialsProvider
Traditional OAuth2 authentication of clients based on client_id and client_secret- Author:
- Marek Posolda
-
-
Field Summary
Fields Modifier and Type Field Description static StringPROVIDER_ID
-
Constructor Summary
Constructors Constructor Description ClientIdAndSecretCredentialsProvider()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringgetId()Return the ID of the provider.voidinit(AdapterConfig deployment, Object config)Called by adapter during deployment of your application.voidsetClientCredentials(AdapterConfig deployment, Map<String,String> requestHeaders, Map<String,String> formParams)Called every time adapter needs to perform backchannel request
-
-
-
Field Detail
-
PROVIDER_ID
public static final String PROVIDER_ID
- See Also:
- Constant Field Values
-
-
Method Detail
-
getId
public String getId()
Description copied from interface:ClientCredentialsProviderReturn 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" } }- Specified by:
getIdin interfaceClientCredentialsProvider- Returns:
-
init
public void init(AdapterConfig deployment, Object config)
Description copied from interface:ClientCredentialsProviderCalled by adapter during deployment of your application. You can for example read configuration and init your authenticator here- Specified by:
initin interfaceClientCredentialsProvider- Parameters:
deployment- the adapter configurationconfig- 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"
-
setClientCredentials
public void setClientCredentials(AdapterConfig deployment, Map<String,String> requestHeaders, Map<String,String> formParams)
Description copied from interface:ClientCredentialsProviderCalled every time adapter needs to perform backchannel request- Specified by:
setClientCredentialsin interfaceClientCredentialsProvider- Parameters:
deployment- Fully resolved deploymentrequestHeaders- 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 serverformParams- 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
-
-