abstract
class
SpnegoAuthenticator[Req, Rsp] extends Filter[Req, Rsp, Authenticated[Req], Rsp]
Instance Constructors
-
new
SpnegoAuthenticator(loginContext: String, principal: Option[GSSName], oid: Option[Oid], manager: GSSManager, pool: FuturePool)
Type Members
-
case class
Negotiated(established: Option[GSSContext], wwwAuthenticate: Option[String]) extends Product with Serializable
Abstract Value Members
-
abstract
def
authenticated(req: Req, context: GSSContext): Authenticated[Req]
-
abstract
def
getNegotiation(req: Req): Option[Array[Byte]]
-
abstract
def
setWwwAuthenticate(rsp: Rsp, auth: String): Rsp
-
abstract
def
unauthorized(req: Req): Rsp
Concrete Value Members
-
final
def
!=(arg0: AnyRef): Boolean
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
final
def
==(arg0: AnyRef): Boolean
-
final
def
==(arg0: Any): Boolean
-
def
accept(context: GSSContext, negotiation: Array[Byte]): Future[Negotiated]
-
def
andThen(factory: ServiceFactory[Authenticated[Req], Rsp]): ServiceFactory[Req, Rsp]
-
def
andThen(f: (Authenticated[Req]) ⇒ Future[Rsp]): (Req) ⇒ Future[Rsp]
-
def
andThen(service: Service[Authenticated[Req], Rsp]): Service[Req, Rsp]
-
def
andThen[Req2, Rep2](next: Filter[Authenticated[Req], Rsp, Req2, Rep2]): Filter[Req, Rsp, Req2, Rep2]
-
def
andThenIf[Req2 >: Authenticated[Req], Rep2 <: Rsp](condAndFilter: (Boolean, Filter[Authenticated[Req], Rsp, Req2, Rep2])): Filter[Req, Rsp, Req2, Rep2]
-
def
apply(req: Req, authed: Service[Authenticated[Req], Rsp]): Future[Rsp]
-
final
def
asInstanceOf[T0]: T0
-
def
clone(): AnyRef
-
def
curried: (Req) ⇒ (Service[Authenticated[Req], Rsp]) ⇒ Future[Rsp]
-
final
def
eq(arg0: AnyRef): Boolean
-
def
equals(arg0: Any): Boolean
-
def
finalize(): Unit
-
final
def
getClass(): Class[_]
-
def
hashCode(): Int
-
final
def
isInstanceOf[T0]: Boolean
-
def
loadCredential(): Future[GSSContext]
-
final
def
ne(arg0: AnyRef): Boolean
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
def
toString(): String
-
def
tupled: ((Req, Service[Authenticated[Req], Rsp])) ⇒ Future[Rsp]
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
Inherited from (Req, Service[Authenticated[Req], Rsp]) ⇒ Future[Rsp]
Inherited from AnyRef
Inherited from Any
A SPNEGO HTTP authenticator as defined in https://tools.ietf.org/html/rfc4559.
JAAS is used to establish the server's credentials (via the configuration section named by loginContext). If a principal or OID is provided, it is used to override the settings in the JAAS configuration file.
Since the authentication operations may block when i.e. talking to a KDC, these potentially blocking calls are wrapped in a FuturePool.