Class ApiKeyAuthModule

All Implemented Interfaces:
AuthModule

public class ApiKeyAuthModule extends AbstractHttpRequestAuthModule implements AuthModule
Identifies logins based on an API key, this should be used only for calling programs.

This AuthModule is currently restricted to generating and verifying in-memory API keys.

  • Constructor Details

    • ApiKeyAuthModule

      public ApiKeyAuthModule()
  • Method Details

    • getSpec

      public Spec getSpec()
      Description copied from interface: AuthModule
      Returns the valid configuration of the input args of this AuthModule.
      Specified by:
      getSpec in interface AuthModule
      Returns:
      the argument specification.
    • init

      public void init(YConfiguration args) throws InitException
      Description copied from interface: AuthModule
      Initialize this AuthModule.
      Specified by:
      init in interface AuthModule
      Parameters:
      args - The configured arguments for this AuthModule. If AuthModule.getSpec() is implemented then this contains the arguments after being validated (including any defaults).
      Throws:
      InitException - When something goes wrong during the execution of this method.
    • handles

      public boolean handles(io.netty.channel.ChannelHandlerContext ctx, io.netty.handler.codec.http.HttpRequest request)
      Description copied from class: AbstractHttpRequestAuthModule
      Returns true if this AuthModule is capable of handling the given HTTP request.
      Specified by:
      handles in class AbstractHttpRequestAuthModule
    • getAuthenticationInfo

      public AuthenticationInfo getAuthenticationInfo(io.netty.channel.ChannelHandlerContext ctx, io.netty.handler.codec.http.HttpRequest request) throws AuthenticationException
      Specified by:
      getAuthenticationInfo in class AbstractHttpRequestAuthModule
      Throws:
      AuthenticationException
    • getAuthorizationInfo

      public AuthorizationInfo getAuthorizationInfo(AuthenticationInfo authenticationInfo) throws AuthorizationException
      Description copied from interface: AuthModule
      Retrieve access control information based on the given AuthenticationInfo. This AuthenticationInfo may have been generated by a different AuthModule.
      Specified by:
      getAuthorizationInfo in interface AuthModule
      Returns:
      an info object containing role/privilege information of the subject
      Throws:
      AuthorizationException
    • verifyValidity

      public boolean verifyValidity(AuthenticationInfo authenticationInfo)
      Description copied from interface: AuthModule
      Verify if previously generated authentication info is (still) valid. For example, if the authentication info references an externally issued expiring ticket, this can be validated here.

      This method is called very frequently, so implementations must take care to limit external requests.

      Specified by:
      verifyValidity in interface AuthModule
      Parameters:
      authenticationInfo - information relevant to the authentication process
      Returns:
      true if the authentication info is valid, false otherwise