Interface SecureUserStore.User

  • All Known Subinterfaces:
    UserStore.User
    Enclosing interface:
    SecureUserStore

    public static interface SecureUserStore.User
    Representation of a single user.
    • Method Detail

      • login

        String login()
        Get login name.
        Returns:
        login of the user
      • isPasswordValid

        boolean isPasswordValid​(char[] password)
        Check if the password is valid. Used by basic authentication.
        Parameters:
        password - password of the user as obtained via basic authentication
        Returns:
        true if password is valid for this user, false otherwise
      • roles

        default Collection<String> roles()
        Get set of roles the user is in.
        Returns:
        roles of this user (or empty if not supported).
      • digestHa1

        default Optional<String> digestHa1​(String realm,
                                           HttpDigest.Algorithm algorithm)
        Digest authentication requires a hash of username, realm and password. As password should not be revealed by systems, this is to provide the HA1 (from Digest Auth terminology) based on the known (public) information combined with the secret information available to user store only (password).

        ha1 algorithm (unq stands for "unquoted value")

            ha1 = md5(a1);
            a1 = unq(username-value) ":" unq(realm-value) ":" passwd
         
        Parameters:
        realm - configured realm
        algorithm - algorithm of the hash (current only MD5 supported by Helidon)
        Returns:
        a digest to use for validation of incoming request