com.sksamuel.scruffy.security.authentication

SessionAuthenticationStrategy

case class SessionAuthenticationStrategy(sessionKey: SessionKey[Principal] = PrincipalSessionKey)(implicit executor: ExecutionContext) extends AuthenticationStrategy with ResponseBuilder with Product with Serializable

An AuthenticationStrategy that retrieves a Principal from the current session. This Principal is then added to the request for downstream processing.

The Principal must be set on the session by some step handled externally to this class, for example a login page.

If no Principal is set on the current session then a 401 is returned.

There must have been an appropriately configured SessionManager in the endpoint before authentication is attempted.

sessionKey

is used to specify the key that the Principal is stored in inside the session.

Linear Supertypes
Serializable, Serializable, Product, Equals, ResponseBuilder, AuthenticationStrategy, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. SessionAuthenticationStrategy
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. ResponseBuilder
  7. AuthenticationStrategy
  8. AnyRef
  9. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SessionAuthenticationStrategy(sessionKey: SessionKey[Principal] = PrincipalSessionKey)(implicit executor: ExecutionContext)

    sessionKey

    is used to specify the key that the Principal is stored in inside the session.

Type Members

  1. trait FutureOps[A] extends AnyRef

    Definition Classes
    ResponseBuilder
  2. trait HttpResponseOps[A] extends AnyRef

    Definition Classes
    ResponseBuilder

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. implicit def ToFutureOps[A](a: A): FutureOps[A] { def self: A }

    Definition Classes
    ResponseBuilder
  7. implicit def ToHttpResponseOps[A](a: A): HttpResponseOps[A] { def self: A }

    Definition Classes
    ResponseBuilder
  8. def accepted: HttpResponse

    Definition Classes
    ResponseBuilder
  9. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  10. def authenticate(req: HttpRequest): Future[Try[Principal]]

    Authenticate must either return a Scala Try with the result of the authentication.

    Authenticate must either return a Scala Try with the result of the authentication. If the authentication was successful then it should return a Success of Principal. Otherwise it should return a Failure with some exception indicating the failure.

    Definition Classes
    SessionAuthenticationStrategyAuthenticationStrategy
  11. def badGateway: HttpResponse

    Definition Classes
    ResponseBuilder
  12. def badRequest(reason: String): HttpResponse

    Definition Classes
    ResponseBuilder
  13. def badRequest: HttpResponse

    Definition Classes
    ResponseBuilder
  14. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  15. def conflict: HttpResponse

    Definition Classes
    ResponseBuilder
  16. def created: HttpResponse

    Definition Classes
    ResponseBuilder
  17. def entity(ent: Any, contentType: MediaType): HttpResponse

    Definition Classes
    ResponseBuilder
  18. def entity(ent: Any, contentType: String): HttpResponse

    Definition Classes
    ResponseBuilder
  19. def entity(ent: Any): HttpResponse

    Definition Classes
    ResponseBuilder
  20. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  21. implicit val executor: ExecutionContext

  22. def expectationFailed: HttpResponse

    Definition Classes
    ResponseBuilder
  23. def failureHandler: AuthenticationFailureHandler

    Returns an AuthenticationFailureHandler which is invoked with the result of authenticate if the authentication process fails.

    Returns an AuthenticationFailureHandler which is invoked with the result of authenticate if the authentication process fails.

    By default, a DefaultAuthenticationFailureHandler is returned which returns a Http 401.

    Definition Classes
    AuthenticationStrategy
  24. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  25. def forbidden(reason: String): HttpResponse

    Definition Classes
    ResponseBuilder
  26. def forbidden: HttpResponse

    Definition Classes
    ResponseBuilder
  27. def found: HttpResponse

    Definition Classes
    ResponseBuilder
  28. def gatewayTimeout: HttpResponse

    Definition Classes
    ResponseBuilder
  29. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  30. def gone: HttpResponse

    Definition Classes
    ResponseBuilder
  31. def internalServerError(reason: String): HttpResponse

    Definition Classes
    ResponseBuilder
  32. def internalServerError: HttpResponse

    Definition Classes
    ResponseBuilder
  33. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  34. def lengthRequired: HttpResponse

    Definition Classes
    ResponseBuilder
  35. def methodNotAllowed: HttpResponse

    Definition Classes
    ResponseBuilder
  36. def movedPermanently: HttpResponse

    Definition Classes
    ResponseBuilder
  37. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  38. def nocontent: HttpResponse

    Definition Classes
    ResponseBuilder
  39. def nonAuthoritativeInformation: HttpResponse

    Definition Classes
    ResponseBuilder
  40. def notAcceptable: HttpResponse

    Definition Classes
    ResponseBuilder
  41. def notFound(body: String): HttpResponse

    Definition Classes
    ResponseBuilder
  42. def notFound: HttpResponse

    Definition Classes
    ResponseBuilder
  43. def notImplemented: HttpResponse

    Definition Classes
    ResponseBuilder
  44. def notImplemented(reason: String): HttpResponse

    Definition Classes
    ResponseBuilder
  45. def notModified: HttpResponse

    Definition Classes
    ResponseBuilder
  46. final def notify(): Unit

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

    Definition Classes
    AnyRef
  48. def ok(e: Any): HttpResponse

    Definition Classes
    ResponseBuilder
  49. def ok: HttpResponse

    Definition Classes
    ResponseBuilder
  50. def partialContent: HttpResponse

    Definition Classes
    ResponseBuilder
  51. def paymentRequired: HttpResponse

    Definition Classes
    ResponseBuilder
  52. def permanentRedirect(location: String): HttpResponse

    Definition Classes
    ResponseBuilder
  53. def preconditionFailed: HttpResponse

    Definition Classes
    ResponseBuilder
  54. def proxyAuthenticationRequired: HttpResponse

    Definition Classes
    ResponseBuilder
  55. def requestEntityTooLarge: HttpResponse

    Definition Classes
    ResponseBuilder
  56. def requestHeaderFieldsTooLarge: HttpResponse

    Definition Classes
    ResponseBuilder
  57. def requestTimeout: HttpResponse

    Definition Classes
    ResponseBuilder
  58. def requestURITooLong: HttpResponse

    Definition Classes
    ResponseBuilder
  59. def requestedRangeNotSatisfiable: HttpResponse

    Definition Classes
    ResponseBuilder
  60. def resetContent: HttpResponse

    Definition Classes
    ResponseBuilder
  61. def seeOther(location: String): HttpResponse

    Definition Classes
    ResponseBuilder
  62. def serviceUnavailable: HttpResponse

    Definition Classes
    ResponseBuilder
  63. val sessionKey: SessionKey[Principal]

    is used to specify the key that the Principal is stored in inside the session.

  64. def status(s: Int): HttpResponse

    Definition Classes
    ResponseBuilder
  65. def status(s: HttpStatus): HttpResponse

    Definition Classes
    ResponseBuilder
  66. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  67. def temporaryRedirect(location: String): HttpResponse

    Definition Classes
    ResponseBuilder
  68. def tooManyRequests: HttpResponse

    Definition Classes
    ResponseBuilder
  69. def unauthorized: HttpResponse

    Definition Classes
    ResponseBuilder
  70. def unprocessableEntity(reason: String): HttpResponse

    Definition Classes
    ResponseBuilder
  71. def unprocessableEntity: HttpResponse

    Definition Classes
    ResponseBuilder
  72. def unsupportedMediaType: HttpResponse

    Definition Classes
    ResponseBuilder
  73. def useProxy: HttpResponse

    Definition Classes
    ResponseBuilder
  74. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from ResponseBuilder

Inherited from AuthenticationStrategy

Inherited from AnyRef

Inherited from Any

Ungrouped