unfiltered

oauth2

package oauth2

Visibility
  1. Public
  2. All

Type Members

  1. sealed trait AccessRequest extends AnyRef

  2. sealed trait AccessResponse extends OAuthResponse

  3. trait AccessToken extends AnyRef

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

  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

    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

  7. trait AuthScheme extends AnyRef

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

  8. trait AuthSource extends AnyRef

    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

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

  11. trait AuthorizationEndpoints extends AnyRef

    Paths for authorization and token access

  12. trait AuthorizationProvider extends AnyRef

  13. sealed trait AuthorizationRequest extends AnyRef

  14. sealed trait AuthorizationResponse extends OAuthResponse

  15. trait AuthorizationServer extends AnyRef

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

    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

  18. trait BearerAuth extends AuthScheme

    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

  20. trait Client extends AnyRef

    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

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

  23. trait ClientStore extends AnyRef

    Locate a registered client.

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

  24. trait DefaultAuthorizationPaths extends AuthorizationEndpoints

  25. trait DefaultValidationMessages extends ValidationMessages

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

    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

    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

  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

  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

  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

    A type of request where response type is ambiguous

  32. trait MacAuth extends AuthScheme

    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

  34. trait NoAuthCodes extends AuthCodeFlow

  35. trait NoClientCredentials extends ClientCredentialsFlow

  36. trait NoPasswords extends PasswordFlow

  37. trait NoRefreshing extends Refreshing

  38. trait NoTokens extends TokenFlow

  39. trait OAuthResponse extends AnyRef

    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

    Configured Authorization server module

  41. trait PasswordFlow extends AnyRef

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

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

    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

    Provides OAuth2 protection implementation.

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

  45. trait QParamBearerAuth extends AuthScheme

    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

  47. trait Refreshing extends AnyRef

  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

    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

    A ResourceOwner belongs to a Service

  50. trait Service extends ServiceResponses

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

  52. trait ServiceResponses extends AnyRef

    Request responses a Service must implement to complete OAuth flows

  53. trait Spaces extends AnyRef

  54. trait Token extends AnyRef

    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

  56. trait TokenStore extends AnyRef

    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

    Customized parameter validation message

Value Members

  1. object AuthorizationServer

  2. object BearerAuth extends BearerAuth

  3. object MacAuth extends MacAuth

  4. object OAuth2

  5. object OAuthIdentity

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

  6. object OAuthorization extends Serializable

  7. object QParamBearerAuth extends QParamBearerAuth

Ungrouped