Class

org.http4s.server.middleware.authentication

DigestAuthentication

Related Doc: package authentication

Permalink

class DigestAuthentication extends Authentication

Provides Digest Authentication from RFC 2617. Note that this class creates a new thread on creation to clean up stale nonces. Please call shutdown() when the object is not used anymore to kill this thread.

Linear Supertypes
Authentication, (Service[Request, Response]) ⇒ Service[Request, Response], AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. DigestAuthentication
  2. Authentication
  3. Function1
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new DigestAuthentication(realm: String, store: AuthenticationStore, nonceCleanupInterval: Duration = 3600.seconds, nonceStaleTime: Duration = 3600.seconds, nonceBits: Int = 160)

    Permalink

    realm

    The realm used for authentication purposes.

    store

    A partial function mapping (realm, user) to the appropriate password.

    nonceCleanupInterval

    Interval (in milliseconds) at which stale nonces should be cleaned up.

    nonceStaleTime

    Amount of time (in milliseconds) after which a nonce is considered stale (i.e. not used for authentication purposes anymore).

    nonceBits

    The number of random bits a nonce should consist of.

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. def addUserRealmAttributes(req: Request, user: String, realm: String): Request

    Permalink
    Attributes
    protected
    Definition Classes
    Authentication
  5. def andThen[A](g: (Service[Request, Response]) ⇒ A): (Service[Request, Response]) ⇒ A

    Permalink
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  6. def apply(service: HttpService): HttpService

    Permalink
    Definition Classes
    Authentication → Function1
  7. final def asInstanceOf[T0]: T0

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. def compose[A](g: (A) ⇒ Service[Request, Response]): (A) ⇒ Service[Request, Response]

    Permalink
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  10. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  12. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. def getChallenge(req: Request): Task[\/[Challenge, Request]]

    Permalink

    Side-effect of running the returned task: If req contains a valid AuthorizationHeader, the corresponding nonce counter (nc) is increased.

    Side-effect of running the returned task: If req contains a valid AuthorizationHeader, the corresponding nonce counter (nc) is increased.

    req

    The request received from the client.

    returns

    If req contains valid credentials, a copy of req is returned that contains additional attributes pertaining to authentication such as the username and realm from the valid credentials. If req does not contain valid credentials, a challenge is returned. This challenge will be included in the HTTP 401 Unauthorized response that is returned to the client.

    Attributes
    protected
    Definition Classes
    DigestAuthenticationAuthentication
  14. final def getClass(): Class[_]

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

    Permalink
    Definition Classes
    AnyRef → Any
  16. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  17. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  20. final def synchronized[T0](arg0: ⇒ T0): T0

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

    Permalink
    Definition Classes
    Function1 → AnyRef → Any
  22. final def wait(): Unit

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

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

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

Inherited from Authentication

Inherited from (Service[Request, Response]) ⇒ Service[Request, Response]

Inherited from AnyRef

Inherited from Any

Ungrouped