com.twitter.finagle.http

SpnegoAuthenticator

abstract class SpnegoAuthenticator[Req, Rsp] extends Filter[Req, Rsp, Authenticated[Req], Rsp]

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.

Linear Supertypes
Filter[Req, Rsp, Authenticated[Req], Rsp], (Req, Service[Authenticated[Req], Rsp]) ⇒ Future[Rsp], AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. SpnegoAuthenticator
  2. Filter
  3. Function2
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SpnegoAuthenticator(loginContext: String, principal: Option[GSSName], oid: Option[Oid], manager: GSSManager, pool: FuturePool)

Type Members

  1. case class Negotiated(established: Option[GSSContext], wwwAuthenticate: Option[String]) extends Product with Serializable

    Attributes
    protected[this]

Abstract Value Members

  1. abstract def authenticated(req: Req, context: GSSContext): Authenticated[Req]

    Attributes
    protected[this]
  2. abstract def getNegotiation(req: Req): Option[Array[Byte]]

    If the request contained a valid spnego negotiation, return it.

    If the request contained a valid spnego negotiation, return it.

    Attributes
    protected[this]
  3. abstract def setWwwAuthenticate(rsp: Rsp, auth: String): Rsp

    Add a WWW-Authenticate: Negotiate <token> header to the response.

    Add a WWW-Authenticate: Negotiate <token> header to the response.

    Attributes
    protected[this]
  4. abstract def unauthorized(req: Req): Rsp

    Create an unauthorized response

    Create an unauthorized response

    Attributes
    protected[this]

Concrete Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

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

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. def accept(context: GSSContext, negotiation: Array[Byte]): Future[Negotiated]

    Attributes
    protected[this]
  7. def andThen(factory: ServiceFactory[Authenticated[Req], Rsp]): ServiceFactory[Req, Rsp]

    Definition Classes
    Filter
  8. def andThen(f: (Authenticated[Req]) ⇒ Future[Rsp]): (Req) ⇒ Future[Rsp]

    Definition Classes
    Filter
  9. def andThen(service: Service[Authenticated[Req], Rsp]): Service[Req, Rsp]

    Definition Classes
    Filter
  10. def andThen[Req2, Rep2](next: Filter[Authenticated[Req], Rsp, Req2, Rep2]): Filter[Req, Rsp, Req2, Rep2]

    Definition Classes
    Filter
  11. def andThenIf[Req2 >: Authenticated[Req], Rep2 <: Rsp](condAndFilter: (Boolean, Filter[Authenticated[Req], Rsp, Req2, Rep2])): Filter[Req, Rsp, Req2, Rep2]

    Definition Classes
    Filter
  12. def apply(req: Req, authed: Service[Authenticated[Req], Rsp]): Future[Rsp]

    Definition Classes
    SpnegoAuthenticator → Filter → Function2
  13. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  14. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  15. def curried: (Req) ⇒ (Service[Authenticated[Req], Rsp]) ⇒ Future[Rsp]

    Definition Classes
    Function2
    Annotations
    @unspecialized()
  16. final def eq(arg0: AnyRef): Boolean

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

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

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

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

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

    Definition Classes
    Any
  22. def loadCredential(): Future[GSSContext]

    Attributes
    protected[this]
  23. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  24. final def notify(): Unit

    Definition Classes
    AnyRef
  25. final def notifyAll(): Unit

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

    Definition Classes
    AnyRef
  27. def toString(): String

    Definition Classes
    Function2 → AnyRef → Any
  28. def tupled: ((Req, Service[Authenticated[Req], Rsp])) ⇒ Future[Rsp]

    Definition Classes
    Function2
    Annotations
    @unspecialized()
  29. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from Filter[Req, Rsp, Authenticated[Req], Rsp]

Inherited from (Req, Service[Authenticated[Req], Rsp]) ⇒ Future[Rsp]

Inherited from AnyRef

Inherited from Any

Ungrouped