Class OAuth2ClientCredentialsProvider

java.lang.Object
com.rabbitmq.client.impl.RefreshProtectedCredentialsProvider<com.rabbitmq.client.impl.OAuth2ClientCredentialsGrantCredentialsProvider.Token>
com.rabbitmq.client.impl.OAuth2ClientCredentialsGrantCredentialsProvider
com.finconsgroup.itserr.marketplace.usercommunication.dm.security.OAuth2ClientCredentialsProvider
All Implemented Interfaces:
com.rabbitmq.client.impl.CredentialsProvider, com.rabbitmq.stream.sasl.CredentialsProvider, com.rabbitmq.stream.sasl.UsernamePasswordCredentialsProvider
Direct Known Subclasses:
StompOAuth2ClientCredentialsWithRefreshProvider

public class OAuth2ClientCredentialsProvider extends com.rabbitmq.client.impl.OAuth2ClientCredentialsGrantCredentialsProvider implements com.rabbitmq.stream.sasl.UsernamePasswordCredentialsProvider
An OAuth2 credentials provider for RabbitMQ that implements UsernamePasswordCredentialsProvider using the Client Credentials Grant flow.

This provider authenticates with RabbitMQ using OAuth2 by exchanging client credentials (client ID and secret) for an access token at the specified token endpoint. The obtained token is then used for authentication with the RabbitMQ server.

See Also:
  • UsernamePasswordCredentialsProvider
  • OAuth2ClientCredentialsGrantCredentialsProvider
  • Nested Class Summary

    Nested classes/interfaces inherited from class com.rabbitmq.client.impl.OAuth2ClientCredentialsGrantCredentialsProvider

    com.rabbitmq.client.impl.OAuth2ClientCredentialsGrantCredentialsProvider.OAuth2ClientCredentialsGrantCredentialsProviderBuilder, com.rabbitmq.client.impl.OAuth2ClientCredentialsGrantCredentialsProvider.TlsConfiguration, com.rabbitmq.client.impl.OAuth2ClientCredentialsGrantCredentialsProvider.Token
  • Constructor Summary

    Constructors
    Constructor
    Description
    OAuth2ClientCredentialsProvider(String tokenEndpointUri, String clientId, String clientSecret, String grantType, Map<String,String> parameters, Duration refreshDelay, Duration refreshPeriod, ScheduledExecutorService scheduledExecutor)
    Constructs a new OAuth2 client credentials provider with the specified OAuth2 configuration.
  • Method Summary

    Modifier and Type
    Method
    Description
     
    boolean
     

    Methods inherited from class com.rabbitmq.client.impl.OAuth2ClientCredentialsGrantCredentialsProvider

    checkContentType, checkResponseCode, configureConnection, configureConnectionForHttps, equals, extractResponseBody, getUsername, hashCode, parseToken, passwordFromToken, retrieveToken, timeBeforeExpiration, usernameFromToken

    Methods inherited from class com.rabbitmq.client.impl.RefreshProtectedCredentialsProvider

    getTimeBeforeExpiration, refresh

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface com.rabbitmq.stream.sasl.UsernamePasswordCredentialsProvider

    getUsername
  • Constructor Details

    • OAuth2ClientCredentialsProvider

      public OAuth2ClientCredentialsProvider(String tokenEndpointUri, String clientId, String clientSecret, String grantType, Map<String,String> parameters, Duration refreshDelay, Duration refreshPeriod, ScheduledExecutorService scheduledExecutor)
      Constructs a new OAuth2 client credentials provider with the specified OAuth2 configuration.
      Parameters:
      tokenEndpointUri - the OAuth2 token endpoint URI
      clientId - the OAuth2 client ID
      clientSecret - the OAuth2 client secret
      grantType - the OAuth2 grant type (default "client_credentials")
      refreshDelay - represents how soon before expiration the token should be refreshed.
      scheduledExecutor - the scheduled executor to use to configure token refresh
  • Method Details

    • getPassword

      public String getPassword()
      Specified by:
      getPassword in interface com.rabbitmq.client.impl.CredentialsProvider
      Specified by:
      getPassword in interface com.rabbitmq.stream.sasl.UsernamePasswordCredentialsProvider
      Overrides:
      getPassword in class com.rabbitmq.client.impl.RefreshProtectedCredentialsProvider<com.rabbitmq.client.impl.OAuth2ClientCredentialsGrantCredentialsProvider.Token>
    • isAboutToExpire

      public boolean isAboutToExpire()