org.apache.geode.security

## Interface Authenticator

- All Superinterfaces:
    CacheCallback, Declarable

  Deprecated.
  since Geode 1.0, use `SecurityManager` instead

      public interface Authenticator
      extends CacheCallback

  Specifies the mechanism to verify credentials for a client or peer. Implementations should register name of the static creation function as the `security-peer-authenticator` system property with all the locators in the distributed system for peer authentication, and as `security-client-authenticator` for client authentication. For P2P an object is initialized on the group coordinator for each member during the `DistributedSystem.connect(Properties)` call of a new member. For client-server, an object of this class is created for each connection during the client-server handshake. The static creation function should have the following signature: `public static Authenticator [method-name]();` i.e. it should be a zero argument function.
  Since:
    GemFire 5.5

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `default java.security.Principal` | `authenticate(java.util.Properties props)` Deprecated.
    `java.security.Principal` | `authenticate(java.util.Properties props, DistributedMember member)` Deprecated. Verify the credentials provided in the properties for the client/peer as specified in member ID and returns the principal associated with the client/peer.
    `default void` | `init(java.util.Properties securityProps)` Deprecated. Initializes a user-defined object using the given properties.
    `void` | `init(java.util.Properties securityProps, LogWriter systemLogger, LogWriter securityLogger)` Deprecated. Initialize the callback for a client/peer.

    - ### Methods inherited from interface org.apache.geode.cache.CacheCallback

      `close`

    - ### Methods inherited from interface org.apache.geode.cache.Declarable

      `initialize`

- - ### Method Detail

    - #### init

          void init(java.util.Properties securityProps,
                    LogWriter systemLogger,
                    LogWriter securityLogger)
             throws AuthenticationFailedException

      Deprecated.
      Initialize the callback for a client/peer. This is invoked when a new connection from a client/peer is created with the host.
      Parameters:
        `securityProps` - the security properties obtained using a call to `DistributedSystem.getSecurityProperties()`
        `systemLogger` - `LogWriter` for system logs
        `securityLogger` - `LogWriter` for security logs
      Throws:
        `AuthenticationFailedException` - if some exception occurs during the initialization

    - #### init

          default void init(java.util.Properties securityProps)
                     throws AuthenticationFailedException

      Deprecated.
      Description copied from interface: `Declarable`
      Initializes a user-defined object using the given properties. Note that any uncaught exception thrown by this method will cause the `Cache` initialization to fail.
      Specified by:
        `init` in interface `Declarable`
      Parameters:
        `securityProps` - Contains the parameters declared in the declarative xml file.
      Throws:
        `AuthenticationFailedException`

    - #### authenticate

          java.security.Principal authenticate(java.util.Properties props,
                                               DistributedMember member)
                                        throws AuthenticationFailedException

      Deprecated.
      Verify the credentials provided in the properties for the client/peer as specified in member ID and returns the principal associated with the client/peer.
      Parameters:
        `props` - the credentials of the client/peer as a set of property key/values
        `member` - the `DistributedMember` object of the connecting client/peer member. NULL when invoked locally on the member initiating the authentication request.
      Returns:
        the principal for the client/peer when authentication succeeded
      Throws:
        `AuthenticationFailedException` - If the authentication of the client/peer fails.

    - #### authenticate

          default java.security.Principal authenticate(java.util.Properties props)
                                                throws AuthenticationFailedException

      Deprecated.
      Throws:
        `AuthenticationFailedException`