Package

unfiltered

oauth2

Permalink

package oauth2

Visibility
  1. Public
  2. All

Type Members

  1. sealed trait AccessRequest extends AnyRef

    Permalink

  2. sealed trait AccessResponse extends OAuthResponse

    Permalink
  3. trait AccessToken extends AnyRef

    Permalink
  4. case class AccessTokenRequest(code: String, redirectURI: String, clientId: String, clientSecret: String) extends AccessRequest with Product with Serializable

    Permalink

  5. case class AccessTokenResponse(accessToken: String, tokenType: Option[String], expiresIn: Option[Int], refreshToken: Option[String], scope: Seq[String], state: Option[String], extras: Iterable[(String, String)]) extends AccessResponse with AuthorizationResponse with Product with Serializable

    Permalink

    See also

    http://tools.ietf.org/html/draft-ietf-oauth-v2-20#section-5.1 For example: HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8 Cache-Control: no-store Pragma: no-cache { "access_token":"2YotnFZFEjr1zCsicMWpAA", "token_type":"example", "expires_in":3600, "refresh_token":"tGzv3JOkF0XG5Qx2TlKWIA", "example_parameter":"example_value" }

    http://tools.ietf.org/html/draft-ietf-oauth-v2-20#section-4.2.2

    http://tools.ietf.org/html/draft-ietf-oauth-v2-20#section-4.1.4

  6. trait AuthCodeFlow extends AnyRef

    Permalink
  7. trait AuthScheme extends AnyRef

    Permalink

    Represents the scheme used for decoding access tokens from a given requests.

  8. trait AuthSource extends AnyRef

    Permalink

    Represents the authorization source that issued the access token.

  9. case class AuthorizationCodeRequest[T](req: HttpRequest[T], responseTypes: Seq[String], clientId: String, redirectURI: String, scope: Seq[String], state: Option[String]) extends AuthorizationRequest with Product with Serializable

    Permalink

  10. case class AuthorizationCodeResponse(code: String, state: Option[String]) extends AuthorizationResponse with Product with Serializable

    Permalink

  11. trait AuthorizationEndpoints extends AnyRef

    Permalink

    Paths for authorization and token access

  12. trait AuthorizationProvider extends AnyRef

    Permalink
  13. sealed trait AuthorizationRequest extends AnyRef

    Permalink

  14. sealed trait AuthorizationResponse extends OAuthResponse

    Permalink
  15. trait AuthorizationServer extends AnyRef

    Permalink

  16. trait Authorized extends AuthorizationProvider with AuthorizationEndpoints with Formatting with ValidationMessages with Flows with Plan

    Permalink

    A composition of components which respond to authorization requests.

    A composition of components which respond to authorization requests. This trait provides default implementations of Oauth Flows. To override these, simply override a target Flows callback methods

  17. case class AuthorizedPass(owner: String, scope: Seq[String]) extends OAuthResponse with Product with Serializable

    Permalink
  18. trait BearerAuth extends AuthScheme

    Permalink

    Represents Bearer auth encoded in a header.

    Represents Bearer auth encoded in a header. see also http://tools.ietf.org/html/draft-ietf-oauth-v2-bearer-14

  19. case class BearerToken(value: String) extends AccessToken with Product with Serializable

    Permalink
  20. trait Client extends AnyRef

    Permalink

    TODO: What about the designation of this client? WebApp, Native etc...

    TODO: What about the designation of this client? WebApp, Native etc... these are mandated parts of client registration as the designtation infers the grant type.

    When registering a client, the client developer:

    - Specifies the client type as described in Section 2.1, - Provides its client redirection URIs as described in Section 3.1.2, and - Includes any other information required by the authorization server (e.g. application name, website, description, logo image, the acceptance of legal terms).

    See also

    http://tools.ietf.org/html/draft-ietf-oauth-v2-25#section-2

  21. trait ClientCredentialsFlow extends AnyRef

    Permalink
  22. case class ClientCredentialsRequest(clientId: String, secret: String, scope: Seq[String]) extends AccessRequest with Product with Serializable

    Permalink

  23. trait ClientStore extends AnyRef

    Permalink

    Locate a registered client.

    Locate a registered client. This could be from anywhere but assuming its a database or other persistence store then the clientId should be used as the key.

  24. trait DefaultAuthorizationPaths extends AuthorizationEndpoints

    Permalink
  25. trait DefaultValidationMessages extends ValidationMessages

    Permalink
  26. case class ErrorResponse(error: String, desc: String, uri: Option[String] = None, state: Option[String] = None) extends AuthorizationResponse with AccessResponse with Product with Serializable

    Permalink

    See also

    http://tools.ietf.org/html/draft-ietf-oauth-v2-20#section-4.1.2.1 For example, the authorization server redirects the user-agent by sending the following HTTP response: HTTP/1.1 302 Found Location: https://client.example.com/cb?error=access_denied&state=xyz Or, another example: HTTP/1.1 400 Bad Request Content-Type: application/json;charset=UTF-8 Cache-Control: no-store Pragma: no-cache { "error":"invalid_request" }

  27. trait Flows extends AuthCodeFlow with TokenFlow with PasswordFlow with ClientCredentialsFlow with Refreshing

    Permalink

    Defines a composition of oauth flows.

    Defines a composition of oauth flows. Services may opt out of flows mixing in NoAuthCodes, NoTokens, NoPasswords, NoClientCredentials, or NoRefreshing

  28. trait Formatting extends AnyRef

    Permalink
  29. case class ImplicitAccessTokenResponse(accessToken: String, tokenType: Option[String], expiresIn: Option[Int], scope: Seq[String], state: Option[String], extras: Iterable[(String, String)]) extends AuthorizationResponse with Product with Serializable

    Permalink

  30. case class ImplicitAuthorizationRequest[T](req: HttpRequest[T], responseTypes: Seq[String], clientId: String, redirectURI: String, scope: Seq[String], state: Option[String]) extends AuthorizationRequest with Product with Serializable

    Permalink

  31. case class IndeterminateAuthorizationRequest[T](req: HttpRequest[T], responseTypes: Seq[String], clientId: String, redirectURI: String, scope: Seq[String], state: Option[String]) extends AuthorizationRequest with Product with Serializable

    Permalink

    A type of request where response type is ambiguous

  32. trait MacAuth extends AuthScheme

    Permalink

    Represents MAC auth.

  33. case class MacAuthToken(id: String, secret: String, nonce: String, bodyhash: Option[String], ext: Option[String]) extends AccessToken with Product with Serializable

    Permalink
  34. trait NoAuthCodes extends AuthCodeFlow

    Permalink
  35. trait NoClientCredentials extends ClientCredentialsFlow

    Permalink
  36. trait NoPasswords extends PasswordFlow

    Permalink
  37. trait NoRefreshing extends Refreshing

    Permalink
  38. trait NoTokens extends TokenFlow

    Permalink
  39. trait OAuthResponse extends AnyRef

    Permalink

    See also

    http://tools.ietf.org/html/draft-ietf-oauth-v2-20#section-4.1.2 For example, the authorization server redirects the user-agent by sending the following HTTP response: HTTP/1.1 302 Found Location: https://client.example.com/cb?code=SplxlOBeZQQYbYS6WxSbIA &state=xyz

  40. case class OAuthorization(auth: AuthorizationServer) extends Authorized with DefaultAuthorizationPaths with DefaultValidationMessages with Product with Serializable

    Permalink

    Configured Authorization server module

  41. trait PasswordFlow extends AnyRef

    Permalink
  42. case class PasswordRequest(userName: String, password: String, clientId: String, clientSecret: String, scope: Seq[String]) extends AccessRequest with Product with Serializable

    Permalink

  43. case class Protection(source: AuthSource) extends ProtectionLike with Product with Serializable

    Permalink

    After your application has obtained an access token, your app can use it to access APIs by including it in either an access_token query parameter or an Authorization: Beader header.

    After your application has obtained an access token, your app can use it to access APIs by including it in either an access_token query parameter or an Authorization: Beader header.

    To call API using HTTP header.

    GET /api/1/feeds.js HTTP/1.1 Host: www.example.com Authorization: Bearer vF9dft4qmT

  44. trait ProtectionLike extends Plan

    Permalink

    Provides OAuth2 protection implementation.

    Provides OAuth2 protection implementation. Extend this trait to customize query string oauth_token, etc.

  45. trait QParamBearerAuth extends AuthScheme

    Permalink

    Represents Bearer auth encoded in query params.

    Represents Bearer auth encoded in query params. ses also http://tools.ietf.org/html/draft-ietf-oauth-v2-bearer-14

  46. case class RefreshTokenRequest(refreshToken: String, clientId: String, clientSecret: String, scope: Seq[String]) extends AccessRequest with Product with Serializable

    Permalink

  47. trait Refreshing extends AnyRef

    Permalink
  48. case class RequestBundle[T](request: HttpRequest[T], responseTypes: Seq[String], client: Client, owner: Option[ResourceOwner], redirectUri: String, scope: Seq[String], state: Option[String]) extends Product with Serializable

    Permalink

    Encapsulates information sent by a Client Authorization request that may need to be repeated after authentication, account creation, or other container behavior before an authorization request can be processed

  49. trait ResourceOwner extends AnyRef

    Permalink

    A ResourceOwner belongs to a Service

  50. trait Service extends ServiceResponses

    Permalink
  51. case class ServiceResponse(handler: ResponseFunction[Any]) extends AuthorizationResponse with Product with Serializable

    Permalink
  52. trait ServiceResponses extends AnyRef

    Permalink

    Request responses a Service must implement to complete OAuth flows

  53. trait Spaces extends AnyRef

    Permalink
  54. trait Token extends AnyRef

    Permalink

    The access token provides an abstraction layer, replacing different authorization constructs (e.g.

    The access token provides an abstraction layer, replacing different authorization constructs (e.g. username and password) with a single token understood by the resource server. This abstraction enables issuing access tokens more restrictive than the authorization grant used to obtain them, as well as removing the resource server's need to understand a wide range of authentication methods.

    Access tokens can have different formats, structures, and methods of utilization (e.g. cryptographic properties) based on the resource server security requirements. Access token attributes and the methods used to access protected resources are beyond the scope of this specification and are defined by companion specifications.

    A hook for providing extension properties is provided as the extras method which defaults to an empty map

    See also

    http://tools.ietf.org/html/draft-ietf-oauth-v2-20#section-1.3

  55. trait TokenFlow extends AnyRef

    Permalink
  56. trait TokenStore extends AnyRef

    Permalink

    The token store controls token-orientated operations.

    The token store controls token-orientated operations. Specifically anything that needs to happen with a token is the responsibility of the incumbant TokenStore as typically it will require interacting with the some kind of storage

  57. trait ValidationMessages extends AnyRef

    Permalink

    Customized parameter validation message

Value Members

  1. object AuthorizationServer

    Permalink
  2. object BearerAuth extends BearerAuth

    Permalink
  3. object MacAuth extends MacAuth

    Permalink
  4. object OAuth2

    Permalink
  5. object OAuthIdentity

    Permalink

    Extractor for a resource owner and the client they authorized, as well as the granted scope.

  6. object OAuthorization extends Serializable

    Permalink
  7. object QParamBearerAuth extends QParamBearerAuth

    Permalink

Ungrouped