Class AuthenticationClientManagerBase

java.lang.Object
io.deephaven.enterprise.auth.AuthenticationClientManagerBase
All Implemented Interfaces:
PublicKeyAuthenticationClient, TokenAuthenticationClient, TokenFactoryFactory, TokenVerificationClient
Direct Known Subclasses:
AuthenticationClientManager

public abstract class AuthenticationClientManagerBase extends Object implements PublicKeyAuthenticationClient

Class for managing and authenticating to potentially multiple authentication servers.

In a gRPC context, when there is more than one authentication server, all of them are symmetric, and any context required for satisfying a request (eg, authentication state and cookie-related data) are kept in etcd, to allow transparent failover and switching from one server to another. However, in the context of the three way handshake required for presenting a delegate token to a server, where (1) a client obtains a token from an auth server, (2) the client presents the token to a third service for authentication, and (3) the third service validates the token with the auth server, the auth server /should/ be the same in (1) and (3), since that context is not kept in etcd; our current implementation has auth servers forward verification to the correct origin on behalf of clients.

  • Constructor Details

    • AuthenticationClientManagerBase

      public AuthenticationClientManagerBase()