Packages

object DigestAuth

Provides Digest Authentication from RFC 2617.

Source
DigestAuth.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DigestAuth
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. sealed trait AuthStore[F[_], A] extends AnyRef
  2. final class Md5HashedAuthStore[F[_], A] extends AuthStore[F, A]
  3. final class PlainTextAuthStore[F[_], A] extends AuthStore[F, A]

Deprecated Type Members

  1. type AuthenticationStore[F[_], A] = (String) => F[Option[(A, String)]]
    Annotations
    @deprecated
    Deprecated

    (Since version 0.23.12) AuthenticationStore is going away, in favor of explicit subclasses of AuthStore. PlainTextAuthStore maintains the previous, insecure behaviour, whereas Md5HashedAuthStore is the new advised implementation going forward.

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def applyF[F[_], A](realm: String, store: AuthStore[F, A], nonceCleanupInterval: Duration = 1.hour, nonceStaleTime: Duration = 1.hour, nonceBits: Int = 160)(implicit F: Async[F]): F[AuthMiddleware[F, A]]

    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.

  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def challenge[F[_], A](realm: String, store: AuthStore[F, A], nonceCleanupInterval: Duration = 1.hour, nonceStaleTime: Duration = 1.hour, nonceBits: Int = 160)(implicit F: Async[F]): F[Kleisli[F, Request[F], Either[Challenge, AuthedRequest[F, A]]]]

    Similar to apply, but exposing the underlying challenge[F[_],A](realm:String,store:org* cats.data.Kleisli instead of an entire AuthMiddleware

    Similar to apply, but exposing the underlying challenge[F[_],A](realm:String,store:org* cats.data.Kleisli instead of an entire AuthMiddleware

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

    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.

  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  11. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  18. def toString(): String
    Definition Classes
    AnyRef → Any
  19. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  20. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  21. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  22. object Md5HashedAuthStore

    A function mapping username to a user object and precomputed md5 hash of the username, realm, and password, or None if no user exists.

    A function mapping username to a user object and precomputed md5 hash of the username, realm, and password, or None if no user exists.

    More secure than PlainTextAuthStore due to only needing to store the digested hash instead of the password in plain text.

  23. object PlainTextAuthStore

    A function mapping username to a user object and password, or None if no user exists.

    A function mapping username to a user object and password, or None if no user exists.

    Requires that the server can recover the password in clear text, which is _strongly_ discouraged. Please use Md5HashedAuthStore if you can.

Deprecated Value Members

  1. def apply[F[_], A](realm: String, store: (String) => F[Option[(A, String)]], nonceCleanupInterval: Duration = 1.hour, nonceStaleTime: Duration = 1.hour, nonceBits: Int = 160)(implicit arg0: Sync[F]): AuthMiddleware[F, A]
    Annotations
    @deprecated
    Deprecated

    (Since version 0.23.12) Calling apply is side-effecting, please use applyF

  2. def challenge[F[_], A](realm: String, store: (String) => F[Option[(A, String)]], nonceKeeper: NonceKeeper)(implicit F: Sync[F]): Kleisli[F, Request[F], Either[Challenge, AuthedRequest[F, A]]]
    Annotations
    @deprecated
    Deprecated

    (Since version 0.23.12) Uses a side-effecting NonceKeeper. Use challenge(String, AuthStore, Blocker, Duration, Int, Int).

Inherited from AnyRef

Inherited from Any

Ungrouped