Interface TokenProvider

  • All Known Implementing Classes:
    CompositeTokenProvider

    public interface TokenProvider
    Interface to manage create and manage login tokens.
    • Field Detail

      • PARAM_TOKEN_EXPIRATION

        static final String PARAM_TOKEN_EXPIRATION
        Optional configuration parameter to set the token expiration time in ms. Implementations that do not support this option will ignore any config options with that name.
        See Also:
        Constant Field Values
      • PARAM_TOKEN_LENGTH

        static final String PARAM_TOKEN_LENGTH
        Optional configuration parameter to define the length of the key. Implementations that do not support this option will ignore any config options with that name.
        See Also:
        Constant Field Values
      • PARAM_TOKEN_REFRESH

        static final String PARAM_TOKEN_REFRESH
        Optional configuration parameter to define if a given token should be refreshed or not. Implementations that do not support this option will ignore any config options with that name.
        See Also:
        Constant Field Values
    • Method Detail

      • doCreateToken

        boolean doCreateToken​(@NotNull
                              @NotNull Credentials credentials)
        Returns true if the given credentials indicate that a new token needs to be issued.
        Parameters:
        credentials - The current credentials.
        Returns:
        true if a new login token needs to be created, false otherwise.
      • createToken

        @Nullable
        @Nullable TokenInfo createToken​(@NotNull
                                        @NotNull Credentials credentials)
        Issues a new login token for the user with the specified credentials and returns the associated TokenInfo.
        Parameters:
        credentials - The current credentials.
        Returns:
        The TokenInfo associated with the new login token or null if no token has been created.
      • createToken

        @Nullable
        @Nullable TokenInfo createToken​(@NotNull
                                        @NotNull String userId,
                                        @NotNull
                                        @NotNull Map<String,​?> attributes)
        Issues a new login token for the user with the given userId and the specified attributes.
        Parameters:
        userId - The identifier of the user for which a new token should be created.
        attributes - The attributes associated with the new token.
        Returns:
        The TokenInfo associated with the new login token or null if no token has been created.
      • getTokenInfo

        @Nullable
        @Nullable TokenInfo getTokenInfo​(@NotNull
                                         @NotNull String token)
        Retrieves the TokenInfo associated with the specified login token or null.
        Parameters:
        token - A valid login token.
        Returns:
        the TokenInfo associated with the specified login token or null.