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 Detail

      • authenticatorFetcher

        TotpAuth authenticatorFetcher​(java.util.function.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​(java.util.function.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.