Inheritance | yii\authclient\clients\Facebook » yii\authclient\OAuth2 » yii\authclient\BaseOAuth » yii\authclient\BaseClient » yii\base\Component » yii\base\Object |
---|---|
Implements | yii\authclient\ClientInterface, yii\base\Configurable |
Available since version | 2.0 |
Source Code | https://github.com/yiisoft/yii2-authclient/blob/master/clients/Facebook.php |
Facebook allows authentication via Facebook OAuth.
In order to use Facebook OAuth you must register your application at https://developers.facebook.com/apps.
Example application configuration:
'components' => [ 'authClientCollection' => [ 'class' => 'yii\authclient\Collection', 'clients' => [ 'facebook' => [ 'class' => 'yii\authclient\clients\Facebook', 'clientId' => 'facebook_client_id', 'clientSecret' => 'facebook_client_secret', ], ], ] ... ]
See also:
API base URL. This field will be used as yii\httpclient\Client::$baseUrl value of $httpClient. Note: changing this property will take no effect after $httpClient is instantiated.
public string $apiBaseUrl = 'https://graph.facebook.com'
List of attribute names, which should be requested from API to initialize user attributes.
public array $attributeNames = ['name', 'email']
Authorize URL.
public string $authUrl = 'https://www.facebook.com/dialog/oauth'
Whether to automatically upgrade short-live (2 hours) access token to long-live (60 days) one, after fetching it.
See also \yii\authclient\clients\exchangeToken().
public boolean $autoExchangeAccessToken = false
Whether to automatically perform 'refresh access token' request on expired access token.
public boolean $autoRefreshAccessToken = false
URL endpoint for the client auth code generation.
See also:
public string $clientAuthCodeUrl = 'https://graph.facebook.com/oauth/client_code'
Auth request scope.
public string $scope = 'email'
Token request URL endpoint.
public string $tokenUrl = 'https://graph.facebook.com/oauth/access_token'
Applies access token to the HTTP request instance.
public void applyAccessTokenToRequest ( $request, $accessToken ) | ||
---|---|---|
$request | yii\httpclient\Request |
HTTP request instance. |
$accessToken | yii\authclient\OAuthToken |
Access token instance. |
Generates service name.
protected string defaultName ( ) | ||
---|---|---|
return | string |
Service name. |
Generates service title.
protected string defaultTitle ( ) | ||
---|---|---|
return | string |
Service title. |
Returns the default $viewOptions value.
Particular client may override this method in order to provide specific default view options.
protected array defaultViewOptions ( ) | ||
---|---|---|
return | array |
List of default $viewOptions |
Exchanges short-live (2 hours) access token to long-live (60 days) one.
Note that this method will success for already long-live token, but will not actually prolong it any further. Pay attention, that this method will fail on already expired access token.
See also https://developers.facebook.com/docs/facebook-login/access-tokens/expiration-and-extension.
public yii\authclient\OAuthToken exchangeAccessToken ( yii\authclient\OAuthToken $token ) | ||
---|---|---|
$token | yii\authclient\OAuthToken |
Short-live access token. |
return | yii\authclient\OAuthToken |
Long-live access token. |
Fetches access token from authorization code.
public yii\authclient\OAuthToken fetchAccessToken ( $authCode, array $params = [] ) | ||
---|---|---|
$authCode | string |
Authorization code, usually comes at $_GET['code']. |
$params | array |
Additional request params. |
return | yii\authclient\OAuthToken |
Access token. |
throws | yii\web\HttpException |
on invalid auth state in case \yii\authclient\clients\enableStateValidation is enabled. |
Fetches access token from client-specific authorization code.
This make sense for the distributed applications, which provides several Auth clients (web and mobile) to avoid triggering Facebook's automated spam systems.
See also:
public yii\authclient\OAuthToken fetchClientAccessToken ( $authCode, array $params = [] ) | ||
---|---|---|
$authCode | string |
Client auth code. |
$params | array | |
return | yii\authclient\OAuthToken |
Long-live client-specific access token. |
Requests the authorization code for the client-specific access token.
This make sense for the distributed applications, which provides several Auth clients (web and mobile) to avoid triggering Facebook's automated spam systems.
See also:
public string fetchClientAuthCode ( yii\authclient\OAuthToken $token = null, $params = [] ) | ||
---|---|---|
$token | yii\authclient\OAuthToken|null |
Access token, if not set $accessToken will be used. |
$params | array |
Additional request params. |
return | string |
Client auth code. |
Initializes authenticated user attributes.
protected array initUserAttributes ( ) | ||
---|---|---|
return | array |
Auth user attributes. |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-authclient-clients-facebook.html