Class DuoSDKClientFactory

java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
net.shibboleth.idp.plugin.authn.duo.sdk.impl.DuoSDKClientFactory
All Implemented Interfaces:
DuoOIDCClientFactory, Component, DestructableComponent, InitializableComponent

@ThreadSafe public final class DuoSDKClientFactory extends AbstractInitializableComponent implements DuoOIDCClientFactory
Abstract factory implementation for the DuoSDKClientAdaptor.
  • Field Details

  • Constructor Details

    • DuoSDKClientFactory

      public DuoSDKClientFactory()
  • Method Details

    • setCaCerts

      public void setCaCerts(@Nullable List<String> certs)
      Sets the list of CA certificate pins used to verify the Duo client connection to the API host. If null, the client will use the internal defaults.
      Parameters:
      certs - the list of certificate pins.
    • getCaCerts

      @Nullable @NonnullElements @Unmodifiable private List<String> getCaCerts()
      Get the caCerts, guarded by this objects monitor.
      Returns:
      the caCerts.
    • createInstance

      @Nonnull public DuoOIDCClient createInstance(@Nonnull DuoOIDCIntegration integration) throws DuoClientException
      Description copied from interface: DuoOIDCClientFactory
      Create an DuoOIDCClient instance from the supplied integration.

      The client should be fully initialised and safely published.

      Specified by:
      createInstance in interface DuoOIDCClientFactory
      Parameters:
      integration - the duo integration used to instantiate the client.
      Returns:
      the created Duo client, never null.
      Throws:
      DuoClientException - if there is an error creating the Duo client.