Interface TotpAuth

All Superinterfaces:
AuthenticationProvider

public interface TotpAuth extends AuthenticationProvider
An extension of AuthProvider which uses the one time passwords based on time to perform authentication.
Author:
Dmitry Novikov
  • Method Details

    • authenticatorFetcher

      TotpAuth authenticatorFetcher(Function<String, Future<Authenticator>> fetcher)
      Provide a Function that can fetch Authenticators from a backend given an identifier argument.

      The function signature is as follows:

      (id) -> Future<Authenticator>

      • id the identifier to lookup.
      • Future async result with a authenticator.
      Parameters:
      fetcher - fetcher function.
      Returns:
      fluent self.
    • authenticatorUpdater

      TotpAuth authenticatorUpdater(Function<Authenticator, Future<Void>> updater)
      Provide a Function that can update or insert a Authenticator. The function should store a given authenticator to a persistence storage.

      When an authenticator is already present, this method must at least update Authenticator.getCounter(), and is not required to perform any other update.

      For new authenticators, the whole object data must be persisted.

      The function signature is as follows:

      (Authenticator) -> Future<Void>

      Parameters:
      updater - updater function.
      Returns:
      fluent self.
    • createAuthenticator

      Future<Authenticator> createAuthenticator(String id, OtpKey otpKey)
      Creating authenticator from user id and key.
      Parameters:
      id - id user.
      otpKey - key of user used for auth.
      Returns:
      Authenticator an object containing all the necessary information to authenticate a user.
    • generateUri

      String generateUri(OtpKey otpKey, String issuer, String user, String label)
      Creating URI for register in key in user device.
      Parameters:
      otpKey - user key.
      issuer - issuer of key.
      user - display name of user account.
      label - the label to identify which account a key is associated with.
      Returns:
      uri containing the key.
    • generateUri

      default String generateUri(OtpKey otpKey, String issuer, String user)
      Creating URI for register in key in user device.
      Parameters:
      otpKey - user key.
      issuer - issuer of key.
      user - display name of user account.
      Returns:
      uri containing the key.
    • generateUri

      default String generateUri(OtpKey otpKey, String label)
      Creating URI for register in key in user device.
      Parameters:
      otpKey - user key.
      label - the label to identify which account a key is associated with.
      Returns:
      uri containing the key.
    • create

      static TotpAuth create()
      Creates an instance of TotpAuth.
      Returns:
      the created instance of TotpAuth.
    • create

      static TotpAuth create(TotpAuthOptions totpAuthOptions)
      Creates an instance of TotpAuth.
      Parameters:
      totpAuthOptions - the config.
      Returns:
      the created instance of TotpAuth.