Wt
3.7.1
|
OAuth service for Facebook as third-party authenticator. More...
Public Member Functions | |
FacebookService (const AuthService &baseAuthService) | |
Constructor. | |
virtual std::string | name () const |
Returns the provider name. More... | |
virtual WString | description () const |
Returns the provider description. More... | |
virtual int | popupWidth () const |
Returns the desired width for the popup window. More... | |
virtual int | popupHeight () const |
Returns the desired height for the popup window. More... | |
virtual std::string | authenticationScope () const |
Returns the scope needed for authentication. More... | |
virtual std::string | redirectEndpoint () const |
Returns the redirection endpoint URL. More... | |
virtual std::string | redirectEndpointPath () const |
Returns the deployment path of the redirection endpoint. More... | |
virtual std::string | authorizationEndpoint () const |
Returns the authorization endpoint URL. More... | |
virtual std::string | tokenEndpoint () const |
Returns the token endpoint URL. More... | |
virtual std::string | clientId () const |
Returns the client ID. More... | |
virtual std::string | clientSecret () const |
Returns the client secret. More... | |
virtual ClientSecretMethod | clientSecretMethod () const |
Returns the method to transfer the client secret. More... | |
virtual Http::Method | tokenRequestMethod () const |
Returns the HTTP method used for the token request. More... | |
virtual OAuthProcess * | createProcess (const std::string &scope) const |
Creates a new authorization process. More... | |
Public Member Functions inherited from Wt::Auth::OAuthService | |
OAuthService (const AuthService &baseAuth) | |
Constructor. More... | |
virtual | ~OAuthService () |
Destructor. | |
const AuthService & | baseAuth () const |
Returns the basic authentication service. | |
virtual std::string | encodeState (const std::string &sessionId) const |
Derives a state value from the session ID. More... | |
virtual std::string | decodeState (const std::string &state) const |
Validates and decodes a state parameter. More... | |
void | configureRedirectEndpoint () const |
Configures the static resource implementing the redirect endpoint. More... | |
Static Public Member Functions | |
static bool | configured () |
Checks whether a FacebookAuth service is properly configured. More... | |
OAuth service for Facebook as third-party authenticator.
The configuration of the service is done using properties, whose values need to match the values configured at Facebook.
facebook-oauth2-redirect-endpoint
: the URL of the local redirect endpoint, to which the Facebook OAuth service redirects the user after authentication. See also redirectEndpoint()facebook-oauth2-redirect-endpoint-path
: optionally, the deployment path that corresponds to the redirect endpoint. See also redirectEndpointPath()facebook-oauth2-app-id
: The application IDfacebook-oauth2-app-secret
: The application secret.For example:
Like all service classes, this class holds only configuration state. Thus, once configured, it can be safely shared between multiple sessions since its state (the configuration) is read-only. A "const FacebookService" object is thus thread-safe.
|
virtual |
Returns the scope needed for authentication.
This returns the scope that is needed (and sufficient) for obtaining identity information, and thus to authenticate the user.
Implements Wt::Auth::OAuthService.
|
virtual |
Returns the authorization endpoint URL.
This is a remote URL which hosts the OAuth authorization user interface. This URL is loaded in the popup window at the start of an authorization process.
Implements Wt::Auth::OAuthService.
|
virtual |
Returns the client ID.
This is the identification for this web application with the OAuth authorization server.
Implements Wt::Auth::OAuthService.
|
virtual |
Returns the client secret.
This is the secret credentials for this web application with the OAuth authorization server.
Implements Wt::Auth::OAuthService.
|
virtual |
Returns the method to transfer the client secret.
Some implementations (like Facebook) encode the secret in the GET request parameters, while this is explicitly not allowed in the OAuth 2.0 specification.
The default implementation returns HttpAuthorizationBasic (the recommended method).
Implements Wt::Auth::OAuthService.
|
static |
Checks whether a FacebookAuth service is properly configured.
This returns true
if a value is found for the three configuration properties.
|
virtual |
Creates a new authorization process.
This creates a new authorization process for the indicated scope. Valid names for the scope are service provider dependent.
Implements Wt::Auth::OAuthService.
|
virtual |
Returns the provider description.
This returns a description useful for e.g. tool tips on a login icon.
Implements Wt::Auth::OAuthService.
|
virtual |
Returns the provider name.
This is a short identifier.
Implements Wt::Auth::OAuthService.
|
virtual |
Returns the desired height for the popup window.
Implements Wt::Auth::OAuthService.
|
virtual |
Returns the desired width for the popup window.
Implements Wt::Auth::OAuthService.
|
virtual |
Returns the redirection endpoint URL.
This is the local URL to which the browser is redirect from the service provider, after the authorization process. You need to configure this URL with the third party authentication service.
A static resource will be deployed at this URL.
Implements Wt::Auth::OAuthService.
|
virtual |
Returns the deployment path of the redirection endpoint.
This returns the path at which the static resource is deployed that corresponds to the redirectEndpoint().
The default implementation will derive this path from the redirectEndpoint() URL.
Reimplemented from Wt::Auth::OAuthService.
|
virtual |
Returns the token endpoint URL.
This is a remote URL which hosts a web-service that generates access tokens.
Implements Wt::Auth::OAuthService.
|
virtual |
Returns the HTTP method used for the token request.
While the current OAuth 2.0 draft mandates the use of POST, some implementations (like Facebook) use URL-encoding and a GET request.
The default implementation returns Http::Post (corresponding to the current draft).
Reimplemented from Wt::Auth::OAuthService.