Trait

com.mohiva.play.silhouette.impl.providers

SocialProvider

Related Doc: package providers

Permalink

trait SocialProvider extends Provider with SocialProfileBuilder with ExecutionContextProvider

The base interface for all social providers.

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SocialProvider
  2. ExecutionContextProvider
  3. SocialProfileBuilder
  4. Provider
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. abstract type A <: AuthInfo

    Permalink

    The type of the auth info.

  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.

  5. abstract type Settings

    Permalink

    The settings type.

Abstract Value Members

  1. abstract def authenticate[B]()(implicit request: ExtractableRequest[B]): Future[Either[Result, A]]

    Permalink

    Authenticates the user and returns the auth information.

    Authenticates the user and returns the auth information.

    Returns either a AuthInfo if all went OK or a play.api.mvc.Result that the controller sends to the browser (e.g.: in the case of OAuth where the user needs to be redirected to the service provider).

    B

    The type of the request body.

    request

    The request.

    returns

    Either a play.api.mvc.Result or the AuthInfo from the provider.

  2. 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
  3. abstract val httpLayer: HTTPLayer

    Permalink

    The HTTP layer implementation.

    The HTTP layer implementation.

    Attributes
    protected
  4. abstract def id: String

    Permalink

    Gets the provider ID.

    Gets the provider ID.

    returns

    The provider ID.

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

    Permalink

    Returns the profile parser implementation.

    Returns the profile parser implementation.

    returns

    The profile parser implementation.

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

    Permalink

    Gets the provider settings.

    Gets the provider settings.

    returns

    The provider settings.

  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.

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 clone(): AnyRef

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

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

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

    Permalink

    The execution context to handle the asynchronous operations.

    The execution context to handle the asynchronous operations.

    Definition Classes
    SocialProviderExecutionContextProvider
  9. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. final def getClass(): Class[_]

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

    Permalink
    Definition Classes
    AnyRef → Any
  12. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  16. 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
  17. 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.

  18. final def synchronized[T0](arg0: ⇒ T0): T0

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

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

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

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

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

Inherited from ExecutionContextProvider

Inherited from SocialProfileBuilder

Inherited from Provider

Inherited from AnyRef

Inherited from Any

Ungrouped