Trait/Object

com.mohiva.play.silhouette.impl.providers

OAuth2Provider

Related Docs: object OAuth2Provider | package providers

Permalink

trait OAuth2Provider extends SocialProvider with Logger

Base implementation for all OAuth2 providers.

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. OAuth2Provider
  2. Logger
  3. SocialProvider
  4. ExecutionContextProvider
  5. SocialProfileBuilder
  6. Provider
  7. AnyRef
  8. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Type Members

  1. type A = OAuth2Info

    Permalink

    The type of the auth info.

    The type of the auth info.

    Definition Classes
    OAuth2ProviderSocialProvider
  2. abstract type Content

    Permalink

    The content type to parse a profile from.

    The content type to parse a profile from.

    Definition Classes
    SocialProfileBuilder
  3. abstract type Profile <: SocialProfile

    Permalink

    The type of the profile a profile builder is responsible for.

    The type of the profile a profile builder is responsible for.

    Definition Classes
    SocialProfileBuilder
  4. abstract type Self <: SocialProvider

    Permalink

    The type of the concrete implementation of this abstract type.

    The type of the concrete implementation of this abstract type.

    Definition Classes
    SocialProvider
  5. type Settings = OAuth2Settings

    Permalink

    The settings type.

    The settings type.

    Definition Classes
    OAuth2ProviderSocialProvider

Abstract Value Members

  1. abstract def buildProfile(authInfo: A): Future[Profile]

    Permalink

    Subclasses need to implement this method to populate the profile information from the service provider.

    Subclasses need to implement this method to populate the profile information from the service provider.

    authInfo

    The auth info received from the provider.

    returns

    On success the build social profile, otherwise a failure.

    Attributes
    protected
    Definition Classes
    SocialProfileBuilder
  2. abstract val httpLayer: HTTPLayer

    Permalink

    The HTTP layer implementation.

    The HTTP layer implementation.

    Attributes
    protected
    Definition Classes
    SocialProvider
  3. abstract def id: String

    Permalink

    Gets the provider ID.

    Gets the provider ID.

    returns

    The provider ID.

    Definition Classes
    Provider
  4. abstract def profileParser: SocialProfileParser[Content, Profile]

    Permalink

    Returns the profile parser implementation.

    Returns the profile parser implementation.

    returns

    The profile parser implementation.

    Attributes
    protected
    Definition Classes
    SocialProfileBuilder
  5. abstract def settings: Settings

    Permalink

    Gets the provider settings.

    Gets the provider settings.

    returns

    The provider settings.

    Definition Classes
    SocialProvider
  6. abstract val stateProvider: OAuth2StateProvider

    Permalink

    The state provider implementation.

    The state provider implementation.

    Attributes
    protected
  7. abstract def urls: Map[String, String]

    Permalink

    Gets the URLs that are needed to retrieve the profile data.

    Gets the URLs that are needed to retrieve the profile data.

    Some providers need more than one request to different URLs to query the profile data. So we use a Map here to allow defining multiple URLs.

    returns

    The URLs that are needed to retrieve the profile data.

    Attributes
    protected
    Definition Classes
    SocialProfileBuilder
  8. abstract def withSettings(f: (Settings) ⇒ Settings): Self

    Permalink

    Gets a provider initialized with a new settings object.

    Gets a provider initialized with a new settings object.

    f

    A function which gets the settings passed and returns different settings.

    returns

    An instance of the provider initialized with new settings.

    Definition Classes
    SocialProvider

Concrete Value Members

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

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

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

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def authenticate[B]()(implicit request: ExtractableRequest[B]): Future[Either[Result, OAuth2Info]]

    Permalink

    Starts the authentication process.

    Starts the authentication process.

    B

    The type of the request body.

    request

    The current request.

    returns

    Either a Result or the auth info from the provider.

    Definition Classes
    OAuth2ProviderSocialProvider
  6. def buildInfo(response: WSResponse): Try[OAuth2Info]

    Permalink

    Builds the OAuth2 info from response.

    Builds the OAuth2 info from response.

    response

    The response from the provider.

    returns

    The OAuth2 info on success, otherwise a failure.

    Attributes
    protected
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  10. implicit val executionContext: ExecutionContext

    Permalink

    The execution context to handle the asynchronous operations.

    The execution context to handle the asynchronous operations.

    Definition Classes
    SocialProviderExecutionContextProvider
  11. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. def getAccessToken(code: String)(implicit request: RequestHeader): Future[OAuth2Info]

    Permalink

    Gets the access token.

    Gets the access token.

    code

    The access code.

    request

    The current request.

    returns

    The info containing the access token.

    Attributes
    protected
  13. final def getClass(): Class[_]

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

    Permalink
    Definition Classes
    AnyRef → Any
  15. val headers: Seq[(String, String)]

    Permalink

    A list with headers to send to the API.

    A list with headers to send to the API.

    Attributes
    protected
  16. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  17. val logger: Logger

    Permalink

    A named logger instance.

    A named logger instance.

    Definition Classes
    Logger
  18. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  19. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  20. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  21. def resolveCallbackURL(url: String)(implicit request: RequestHeader): String

    Permalink

    Resolves the url to be absolute relative to the request.

    Resolves the url to be absolute relative to the request.

    This will pass the url through if its already absolute.

    url

    The url to resolve.

    request

    The current request.

    returns

    The absolute url.

    Attributes
    protected
    Definition Classes
    SocialProvider
  22. def retrieveProfile(authInfo: A): Future[Profile]

    Permalink

    Retrieves the user profile for the given auth info.

    Retrieves the user profile for the given auth info.

    This method can be used to retrieve the profile information for an already authenticated identity.

    authInfo

    The auth info for which the profile information should be retrieved.

    returns

    The profile information for the given auth info.

    Definition Classes
    SocialProvider
  23. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  24. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  25. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Logger

Inherited from SocialProvider

Inherited from ExecutionContextProvider

Inherited from SocialProfileBuilder

Inherited from Provider

Inherited from AnyRef

Inherited from Any

Ungrouped