object DigestAuth
- Alphabetic
- By Inheritance
- DigestAuth
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- sealed trait AuthStore[F[_], A] extends AnyRef
- final class Md5HashedAuthStore[F[_], A] extends AuthStore[F, A]
- final class PlainTextAuthStore[F[_], A] extends AuthStore[F, A]
Deprecated Type Members
- type AuthenticationStore[F[_], A] = (String) => F[Option[(A, String)]]
- Annotations
- @deprecated
- Deprecated
(Since version 0.22.13) 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
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def applyF[F[_], A](realm: String, store: AuthStore[F, A], blocker: Blocker, nonceCleanupInterval: Duration = 1.hour, nonceStaleTime: Duration = 1.hour, nonceBits: Int = 160)(implicit F: Concurrent[F], t: Timer[F], cs: ContextShift[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.
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def challenge[F[_], A](realm: String, store: AuthStore[F, A], blocker: Blocker, nonceCleanupInterval: Duration = 1.hour, nonceStaleTime: Duration = 1.hour, nonceBits: Int = 160)(implicit F: Concurrent[F], t: Timer[F], cs: ContextShift[F]): F[Kleisli[F, Request[F], Either[Challenge, AuthedRequest[F, A]]]]
Similar to apply, but exposing the underlying challenge cats.data.Kleisli instead of an entire AuthMiddleware
Similar to apply, but exposing the underlying challenge 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.
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- 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.
- 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
- 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.22.13) Calling apply is side-effecting, please use applyF
- 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.22.13) Uses a side-effecting NonceKeeper. Use challenge(String, AuthStore, Blocker, Duration, Int, Int).