Packages

trait Authentication[User] extends SecurityDirectives with SessionInfoRemover with SessionUserExtractor[User]

Self Type
Authentication[User] with Execution
Source
Authentication.scala
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Authentication
  2. SessionUserExtractor
  3. SessionInfoRemover
  4. SecurityDirectives
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type AsyncAuthenticator[T] = (Credentials) ⇒ Future[Option[T]]
    Definition Classes
    SecurityDirectives
  2. type AsyncAuthenticatorPF[T] = PartialFunction[Credentials, Future[T]]
    Definition Classes
    SecurityDirectives
  3. type AuthenticationResult[+T] = Either[HttpChallenge, T]
    Definition Classes
    SecurityDirectives
  4. type Authenticator[T] = (Credentials) ⇒ Option[T]
    Definition Classes
    SecurityDirectives
  5. type AuthenticatorPF[T] = PartialFunction[Credentials, T]
    Definition Classes
    SecurityDirectives

Abstract Value Members

  1. abstract def decodeSession(session: String): Session[User]

    Decodes session.

    Decodes session. Is used in

    authenticate

    directive which if successful provides user to inner route. authenticate }}} user to inner route.

  2. abstract def encodeSession(session: Session[User]): String

    Encodes session.

    Encodes session. Encoded session will be encrypted and set as cookie

    SessionCookieName
  3. abstract def signInUser: AuthenticationDirective[User]

    Signs in (logs in) user from http request.

    Signs in (logs in) user from http request. Can be implemented as Basic authentication, OAuth ...

Concrete 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. lazy val AppDefaultChallenge: HttpChallenge
  5. lazy val HttpChallengeRealm: String
  6. val IP: String
    Attributes
    protected
  7. val RequestedUriCookieName: String
  8. val SessionCookieName: String
  9. val SignInPath: String
  10. val SignedInDefaultPath: String
  11. val SignedOutPath: String
  12. val UserAgent: String
    Attributes
    protected
  13. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  14. def authFailureRoute: Route

    Default implementation redirects to 'sign-in' uri

  15. def authRejectionHandler: RejectionHandler
  16. def authenticate: AuthenticationDirective[User]

    Authenticates user and provides authenticated user, updates session cookie.

    Authenticates user and provides authenticated user, updates session cookie. On failure executes

    authFailureRoute
  17. def authenticateBasic[T](realm: String, authenticator: (Authentication.this)#Authenticator[T]): AuthenticationDirective[T]
    Definition Classes
    SecurityDirectives
  18. def authenticateBasicAsync[T](realm: String, authenticator: (Authentication.this)#AsyncAuthenticator[T]): AuthenticationDirective[T]
    Definition Classes
    SecurityDirectives
  19. def authenticateBasicPF[T](realm: String, authenticator: (Authentication.this)#AuthenticatorPF[T]): AuthenticationDirective[T]
    Definition Classes
    SecurityDirectives
  20. def authenticateBasicPFAsync[T](realm: String, authenticator: (Authentication.this)#AsyncAuthenticatorPF[T]): AuthenticationDirective[T]
    Definition Classes
    SecurityDirectives
  21. def authenticateOAuth2[T](realm: String, authenticator: (Authentication.this)#Authenticator[T]): AuthenticationDirective[T]
    Definition Classes
    SecurityDirectives
  22. def authenticateOAuth2Async[T](realm: String, authenticator: (Authentication.this)#AsyncAuthenticator[T]): AuthenticationDirective[T]
    Definition Classes
    SecurityDirectives
  23. def authenticateOAuth2PF[T](realm: String, authenticator: (Authentication.this)#AuthenticatorPF[T]): AuthenticationDirective[T]
    Definition Classes
    SecurityDirectives
  24. def authenticateOAuth2PFAsync[T](realm: String, authenticator: (Authentication.this)#AsyncAuthenticatorPF[T]): AuthenticationDirective[T]
    Definition Classes
    SecurityDirectives
  25. def authenticateOrRejectWithChallenge[C <: HttpCredentials, T](authenticator: (Option[C]) ⇒ Future[(Authentication.this)#AuthenticationResult[T]])(implicit arg0: ClassTag[C]): AuthenticationDirective[T]
    Definition Classes
    SecurityDirectives
  26. def authenticateOrRejectWithChallenge[T](authenticator: (Option[HttpCredentials]) ⇒ Future[(Authentication.this)#AuthenticationResult[T]]): AuthenticationDirective[T]
    Definition Classes
    SecurityDirectives
  27. def authenticateUser: AuthenticationDirective[Option[User]]

    Authenticates user from session cookie

  28. def authorize(check: (RequestContext) ⇒ Boolean): Directive0
    Definition Classes
    SecurityDirectives
  29. def authorize(check: ⇒ Boolean): Directive0
    Definition Classes
    SecurityDirectives
  30. def authorizeAsync(check: (RequestContext) ⇒ Future[Boolean]): Directive0
    Definition Classes
    SecurityDirectives
  31. def authorizeAsync(check: ⇒ Future[Boolean]): Directive0
    Definition Classes
    SecurityDirectives
  32. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @HotSpotIntrinsicCandidate()
  33. def decryptSession(session: String): String
  34. def encryptSession(session: String): String

    For session debugging, override to disable encryption but ensure session is cookie-compatible:

    For session debugging, override to disable encryption but ensure session is cookie-compatible:

    session.replace(",", "~").replace("\"", "'")

    In that case, 'decryption' would be:

    session.replace("~", ",").replace("'", "\"")
  35. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  36. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  37. def extractCredentials: Directive1[Option[HttpCredentials]]
    Definition Classes
    SecurityDirectives
  38. def extractSession: Directive1[Option[Session[User]]]

    Extract session from session id cookie.

    Extract session from session id cookie. If cookie does not exist throws rejection

  39. def extractSessionToken(user: User): Directive[(String, Long)]
  40. def extractUserAgent: Directive[(Option[String])]
  41. def extractUserFromSession: Directive1[Option[User]]

    Extracts user from session, returns some user if session cookie is found and can be decoded, however, session is not validated

    Extracts user from session, returns some user if session cookie is found and can be decoded, however, session is not validated

    Definition Classes
    AuthenticationSessionUserExtractor
  42. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  43. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  44. val httpOnlyCookies: Boolean
  45. val isAjaxRequest: Directive[Unit]
  46. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  47. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  48. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  49. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  50. def remoteAddressToString(a: RemoteAddress): String
  51. def removeSessionCookie: Directive0

    Deletes session-id cookie if exists

    Deletes session-id cookie if exists

    Attributes
    protected
  52. def removeSessionInfoFromRequest(req: HttpRequest): Self

    Removes session info from request, used by org.wabase.DeferredControl to calculate stable request hash

    Removes session info from request, used by org.wabase.DeferredControl to calculate stable request hash

    Definition Classes
    AuthenticationSessionInfoRemover
  53. def reqestedUriCookieTransformer(cookie: HttpCookie): HttpCookie

    On failed authentication sets requested-uri cookie if request has not been Ajax

    On failed authentication sets requested-uri cookie if request has not been Ajax

    Attributes
    protected
  54. val secureCookies: Boolean
  55. def sessionCookieTransformer(cookie: HttpCookie): HttpCookie
    Attributes
    protected
  56. val sessionTimeOut: Long
  57. def setRequestedUriCookie: Directive[Unit]
    Attributes
    protected
  58. def setSessionCookie(user: User): Directive0
  59. def signIn: Route
  60. def signInFailedRoute(rejections: Seq[Rejection]): Route

    Default implementation returns http Unauthorized with optional challenge

  61. def signInSuccessRoute(user: User): (RequestContext) ⇒ Future[RouteResult]

    Default implementation redirects to uri value stored in cookie

    Default implementation redirects to uri value stored in cookie

    RequestedUriCookieName

    or if cookie is missing redirects to /

  62. def signOut: Route
  63. def signOutRoute: Route

    Default implementation redirects to /

  64. def signOutUser(user: User): Future[Done]

    Signs out (logs out) user.

    Signs out (logs out) user. Can do all necessary cleanup. Session cookie

    SessionCookieName

    is deleted by

    signOut

    directive. Default implementation does nothing. signOut }}}

  65. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  66. def toString(): String
    Definition Classes
    AnyRef → Any
  67. def uniqueSessionId: String
  68. def userInfo(implicit user: User): String

    String representation of user

  69. def validateSession(session: Session[User], ip: RemoteAddress, userAgent: Option[String]): Boolean

    Checks whether expiration time greater than current time and session ip and user agent matches with those of request

  70. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  71. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  72. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated
    Deprecated

Inherited from SessionUserExtractor[User]

Inherited from SessionInfoRemover

Inherited from SecurityDirectives

Inherited from AnyRef

Inherited from Any

Ungrouped