Class/Object

com.mohiva.play.silhouette.impl.authenticators

JWTAuthenticatorService

Related Docs: object JWTAuthenticatorService | package authenticators

Permalink

class JWTAuthenticatorService extends AuthenticatorService[JWTAuthenticator] with Logger

The service that handles the JWT authenticator.

If the authenticator DAO is deactivated then a stateless approach will be used. But note that you will loose the possibility to invalidate a JWT.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. JWTAuthenticatorService
  2. Logger
  3. AuthenticatorService
  4. ExecutionContextProvider
  5. AnyRef
  6. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new JWTAuthenticatorService(settings: JWTAuthenticatorSettings, dao: Option[AuthenticatorDAO[JWTAuthenticator]], idGenerator: IDGenerator, clock: Clock)(implicit executionContext: ExecutionContext)

    Permalink

    settings

    The authenticator settings.

    dao

    The DAO to store the authenticator. Set it to None to use a stateless approach.

    idGenerator

    The ID generator used to create the authenticator ID.

    clock

    The clock implementation.

    executionContext

    The execution context to handle the asynchronous operations.

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. def create(loginInfo: LoginInfo)(implicit request: RequestHeader): Future[JWTAuthenticator]

    Permalink

    Creates a new authenticator for the specified login info.

    Creates a new authenticator for the specified login info.

    loginInfo

    The login info for which the authenticator should be created.

    request

    The request header.

    returns

    An authenticator.

    Definition Classes
    JWTAuthenticatorServiceAuthenticatorService
  7. def discard(authenticator: JWTAuthenticator, result: Result)(implicit request: RequestHeader): Future[AuthenticatorResult]

    Permalink

    Removes the authenticator from backing store.

    Removes the authenticator from backing store.

    authenticator

    The authenticator instance.

    result

    The result to manipulate.

    request

    The request header.

    returns

    The manipulated result.

    Definition Classes
    JWTAuthenticatorServiceAuthenticatorService
  8. def embed(token: String, request: RequestHeader): RequestHeader

    Permalink

    Adds a header with the token as value to the request.

    Adds a header with the token as value to the request.

    token

    The token to embed.

    request

    The request header.

    returns

    The manipulated request header.

    Definition Classes
    JWTAuthenticatorServiceAuthenticatorService
  9. def embed(token: String, result: Result)(implicit request: RequestHeader): Future[AuthenticatorResult]

    Permalink

    Adds a header with the token as value to the result.

    Adds a header with the token as value to the result.

    token

    The token to embed.

    result

    The result to manipulate.

    request

    The request header.

    returns

    The manipulated result.

    Definition Classes
    JWTAuthenticatorServiceAuthenticatorService
  10. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  12. implicit val executionContext: ExecutionContext

    Permalink

    The execution context to handle the asynchronous operations.

    The execution context to handle the asynchronous operations.

    Definition Classes
    JWTAuthenticatorServiceExecutionContextProvider
  13. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  15. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  16. def init(authenticator: JWTAuthenticator)(implicit request: RequestHeader): Future[String]

    Permalink

    Creates a new JWT for the given authenticator and return it.

    Creates a new JWT for the given authenticator and return it. If a backing store is defined, then the authenticator will be stored in it.

    authenticator

    The authenticator instance.

    request

    The request header.

    returns

    The serialized authenticator value.

    Definition Classes
    JWTAuthenticatorServiceAuthenticatorService
  17. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  18. val logger: Logger

    Permalink

    A named logger instance.

    A named logger instance.

    Definition Classes
    Logger
  19. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  20. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  21. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  22. def renew(authenticator: JWTAuthenticator, result: Result)(implicit request: RequestHeader): Future[AuthenticatorResult]

    Permalink

    Renews an authenticator and teplaces the JWT header with a new one.

    Renews an authenticator and teplaces the JWT header with a new one.

    If a backing store is defined, the old authenticator will be revoked. After that it isn't possible to use a JWT which was bound to this authenticator.

    authenticator

    The authenticator to update.

    result

    The result to manipulate.

    request

    The request header.

    returns

    The original or a manipulated result.

    Definition Classes
    JWTAuthenticatorServiceAuthenticatorService
  23. def renew(authenticator: JWTAuthenticator)(implicit request: RequestHeader): Future[String]

    Permalink

    Renews an authenticator.

    Renews an authenticator.

    After that it isn't possible to use a JWT which was bound to this authenticator. This method doesn't embed the the authenticator into the result. This must be done manually if needed or use the other renew method otherwise.

    authenticator

    The authenticator to renew.

    request

    The request header.

    returns

    The serialized expression of the authenticator.

    Definition Classes
    JWTAuthenticatorServiceAuthenticatorService
  24. def retrieve(implicit request: RequestHeader): Future[Option[JWTAuthenticator]]

    Permalink

    Retrieves the authenticator from request.

    Retrieves the authenticator from request.

    If a backing store is defined, then the authenticator will be validated against it.

    request

    The request header.

    returns

    Some authenticator or None if no authenticator could be found in request.

    Definition Classes
    JWTAuthenticatorServiceAuthenticatorService
  25. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  26. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  27. def touch(authenticator: JWTAuthenticator): Either[JWTAuthenticator, JWTAuthenticator]

    Permalink

    Touches an authenticator.

    Touches an authenticator.

    An authenticator can use sliding window expiration. This means that the authenticator times out after a certain time if it wasn't used. So to mark an authenticator as used it will be touched on every request to a Silhouette action. If an authenticator should not be touched because of the fact that sliding window expiration is disabled, then it should be returned on the right, otherwise it should be returned on the left. An untouched authenticator needn't be updated later by the update method.

    authenticator

    The authenticator to touch.

    returns

    The touched authenticator on the left or the untouched authenticator on the right.

    Definition Classes
    JWTAuthenticatorServiceAuthenticatorService
  28. def update(authenticator: JWTAuthenticator, result: Result)(implicit request: RequestHeader): Future[AuthenticatorResult]

    Permalink

    Updates the authenticator and embeds a new token in the result.

    Updates the authenticator and embeds a new token in the result.

    To prevent the creation of a new token on every request, disable the idle timeout setting and this method will not be executed.

    authenticator

    The authenticator to update.

    result

    The result to manipulate.

    request

    The request header.

    returns

    The original or a manipulated result.

    Definition Classes
    JWTAuthenticatorServiceAuthenticatorService
  29. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Logger

Inherited from ExecutionContextProvider

Inherited from AnyRef

Inherited from Any

Ungrouped