Interface TokenProvider

  • All Known Implementing Classes:
    CompositeTokenProvider

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

      Fields 
      Modifier and Type Field Description
      static java.lang.String PARAM_TOKEN_EXPIRATION
      Optional configuration parameter to set the token expiration time in ms.
      static java.lang.String PARAM_TOKEN_LENGTH
      Optional configuration parameter to define the length of the key.
      static java.lang.String PARAM_TOKEN_REFRESH
      Optional configuration parameter to define if a given token should be refreshed or not.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      @Nullable TokenInfo createToken​(@NotNull java.lang.String userId, @NotNull java.util.Map<java.lang.String,​?> attributes)
      Issues a new login token for the user with the given userId and the specified attributes.
      @Nullable TokenInfo createToken​(@NotNull Credentials credentials)
      Issues a new login token for the user with the specified credentials and returns the associated TokenInfo.
      boolean doCreateToken​(@NotNull Credentials credentials)
      Returns true if the given credentials indicate that a new token needs to be issued.
      @Nullable TokenInfo getTokenInfo​(@NotNull java.lang.String token)
      Retrieves the TokenInfo associated with the specified login token or null.
    • Field Detail

      • PARAM_TOKEN_EXPIRATION

        static final java.lang.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 java.lang.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 java.lang.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 java.lang.String userId,
                                        @NotNull
                                        @NotNull java.util.Map<java.lang.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 java.lang.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.