Класс yii\authclient\clients\Facebook
| Наследование | yii\authclient\clients\Facebook » yii\authclient\OAuth2 » yii\authclient\BaseOAuth » yii\authclient\BaseClient » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\authclient\ClientInterface, yii\base\Configurable |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2-authclient/blob/master/clients/Facebook.php |
Facebook позволяет аутентификацию через Facebook OAuth.
Для использования Facebook OAuth необходимо зарегистрировать ваше приложение на https://developers.facebook.com/apps.
Пример конфигурации приложения:
'components' => [
'authClientCollection' => [
'class' => 'yii\authclient\Collection',
'clients' => [
'facebook' => [
'class' => 'yii\authclient\clients\Facebook',
'clientId' => 'facebook_client_id',
'clientSecret' => 'facebook_client_secret',
],
],
]
...
]
См. также:
Публичные свойства
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | yii\base\Component |
| __clone() | Этот метод вызывается после создания объекта путём клонирования существующего. | yii\base\Component |
| __construct() | Конструктор. | yii\base\Object |
| __get() | Возвращает значение свойства компонента. | yii\base\Component |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Component |
| __set() | Устанавливает значение свойства компонента. | yii\base\Component |
| __unset() | Устанавливает свойство компонента в значение null. | yii\base\Component |
| api() | Выполняет запрос к API OAuth, возвращая данные ответа. | yii\authclient\BaseOAuth |
| applyAccessTokenToRequest() | Применяет токен доступа к экземпляру HTTP-запроса. | yii\authclient\clients\Facebook |
| attachBehavior() | Присоединяет поведение к этому компоненту. | yii\base\Component |
| attachBehaviors() | Присоединяет список поведений к компоненту. | yii\base\Component |
| authenticateClient() | Авторизует клиента OAuth непосредственно у провайдера без участия третьей стороны (пользователя), используя тип авторизации 'client_credentials'. | yii\authclient\OAuth2 |
| authenticateUser() | Авторизует пользователя напрямую по паре 'имя пользователя/пароль', используя тип авторизации 'password'. | yii\authclient\OAuth2 |
| authenticateUserJwt() | Авторизует пользователя напрямую с помощью JSON Web Token (JWT). | yii\authclient\OAuth2 |
| beforeApiRequestSend() | Обрабатывает событие yii\httpclient\Request::EVENT_BEFORE_SEND. | yii\authclient\BaseOAuth |
| behaviors() | Возвращает список поведений, в соответствии с которыми должен действовать этот компонент. | yii\base\Component |
| buildAuthUrl() | Создаёт URL для авторизации пользователя. | yii\authclient\OAuth2 |
| canGetProperty() | Возвращает значение, указывающее, можно ли прочитать свойство. | yii\base\Component |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Component |
| className() | Возвращает полное квалифицированное имя этого класса. | yii\base\Object |
| createApiRequest() | Создаёт HTTP-запрос для вызова API. | yii\authclient\BaseOAuth |
| createRequest() | Создаёт экземпляр HTTP-запроса. | yii\authclient\BaseClient |
| detachBehavior() | Отсоединяет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Отсоединяет все поведения от компонента. | yii\base\Component |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. | yii\base\Component |
| exchangeAccessToken() | Обменивает краткосрочный (2 часа) токен доступа на долгосрочный (60 дней). | yii\authclient\clients\Facebook |
| fetchAccessToken() | Извлекает токен доступа по коду авторизации. | yii\authclient\clients\Facebook |
| fetchClientAccessToken() | Извлекает токен доступа для клиента по коду авторизации клиента. | yii\authclient\clients\Facebook |
| fetchClientAuthCode() | Запрашивает код авторизации для получения токена доступа для клиента. | yii\authclient\clients\Facebook |
| getAccessToken() | yii\authclient\BaseOAuth | |
| getBehavior() | Возвращает объект поведения с заданным именем. | yii\base\Component |
| getBehaviors() | Возвращает все поведения, присоединённые к этому компоненту. | yii\base\Component |
| getHttpClient() | Возвращает HTTP-клиент. | yii\authclient\BaseClient |
| getId() | yii\authclient\ClientInterface | |
| getName() | yii\authclient\ClientInterface | |
| getNormalizeUserAttributeMap() | yii\authclient\BaseClient | |
| getRequestOptions() | yii\authclient\BaseClient | |
| getReturnUrl() | yii\authclient\BaseOAuth | |
| getSignatureMethod() | yii\authclient\BaseOAuth | |
| getStateStorage() | yii\authclient\BaseClient | |
| getTitle() | yii\authclient\ClientInterface | |
| getUserAttributes() | yii\authclient\ClientInterface | |
| getViewOptions() | yii\authclient\ClientInterface | |
| hasEventHandlers() | Возвращает значение, указывающее, присоединён ли какой-либо обработчик к указанному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определён ли метод. | yii\base\Component |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство для этого компонента. | yii\base\Component |
| init() | Инициализирует объект. | yii\base\Object |
| off() | Отсоединяет существующий обработчик событий от этого компонента. | yii\base\Component |
| on() | Присоединяет обработчик событий к событию. | yii\base\Component |
| refreshAccessToken() | Получение нового токена авторизации для замены истекшего. | yii\authclient\OAuth2 |
| setAccessToken() | Устанавливает токен доступа для использования. | yii\authclient\BaseOAuth |
| setHttpClient() | Устанавливает HTTP-клиент для использования. | yii\authclient\BaseOAuth |
| setId() | yii\authclient\ClientInterface | |
| setName() | yii\authclient\ClientInterface | |
| setNormalizeUserAttributeMap() | yii\authclient\BaseClient | |
| setRequestOptions() | yii\authclient\BaseClient | |
| setReturnUrl() | yii\authclient\BaseOAuth | |
| setSignatureMethod() | Устанавливает метод подписи для использования. | yii\authclient\BaseOAuth |
| setStateStorage() | yii\authclient\BaseClient | |
| setTitle() | yii\authclient\ClientInterface | |
| setUserAttributes() | yii\authclient\BaseClient | |
| setViewOptions() | yii\authclient\BaseClient | |
| trigger() | Вызывает событие. | yii\base\Component |
Защищенные методы
| Метод | Описание | Определен в |
|---|---|---|
| applyClientCredentialsToRequest() | Применяет учетные данные клиента (например, $clientId и $clientSecret) к экземпляру HTTP-запроса. | yii\authclient\OAuth2 |
| composeUrl() | Составление URL из базового URL и параметров GET. | yii\authclient\BaseOAuth |
| createHttpClient() | Создает экземпляр HTTP-клиента из ссылки или конфигурации. | yii\authclient\BaseOAuth |
| createSignatureMethod() | Создает экземпляр метода подписи из его конфигурации. | yii\authclient\BaseOAuth |
| createToken() | Создает токен из его конфигурации. | yii\authclient\OAuth2 |
| defaultName() | Генерирует имя службы. | yii\authclient\clients\Facebook |
| defaultNormalizeUserAttributeMap() | Возвращает значение по умолчанию для $normalizeUserAttributeMap. | yii\authclient\BaseClient |
| defaultRequestOptions() | Возвращает параметры HTTP-запроса по умолчанию. | yii\authclient\BaseOAuth |
| defaultReturnUrl() | Формирует значение по умолчанию для $returnUrl. | yii\authclient\OAuth2 |
| defaultTitle() | Генерирует заголовок службы. | yii\authclient\clients\Facebook |
| defaultViewOptions() | Возвращает значение по умолчанию для $viewOptions. | yii\authclient\clients\Facebook |
| generateAuthState() | Генерирует значение состояния авторизации. | yii\authclient\OAuth2 |
| getState() | Возвращает значение состояния из постоянного хранилища. | yii\authclient\BaseClient |
| getStateKeyPrefix() | Возвращает префикс ключа сессии, используемый для хранения внутренних состояний. | yii\authclient\BaseClient |
| initUserAttributes() | Инициализирует атрибуты авторизованного пользователя. | yii\authclient\clients\Facebook |
| normalizeUserAttributes() | Нормализует заданные атрибуты пользователя в соответствии с $normalizeUserAttributeMap. | yii\authclient\BaseClient |
| removeState() | Удаляет значение состояния из постоянного хранилища. | yii\authclient\BaseClient |
| restoreAccessToken() | Восстанавливает токен доступа. | yii\authclient\BaseOAuth |
| saveAccessToken() | Сохраняет токен в качестве постоянного состояния. | yii\authclient\BaseOAuth |
| sendRequest() | Отправляет заданный HTTP-запрос, возвращая данные ответа. | yii\authclient\BaseOAuth |
| setState() | Устанавливает значение состояния в постоянное хранилище. | yii\authclient\BaseClient |
Подробное описание свойств
$apiBaseUrl общедоступное свойство
Базовый URL API. Это поле будет использовано как значение yii\httpclient\Client::$baseUrl для $httpClient. Примечание: изменение этого свойства не повлияет после того, как $httpClient был создан.
public string $apiBaseUrl = 'https://graph.facebook.com'
$attributeNames общедоступное свойство (доступно начиная с версии 2.0.5)
Список имен атрибутов, которые должны быть запрошены у API для инициализации атрибутов пользователя.
public array $attributeNames = ['name', 'email']
$authUrl общедоступное свойство
URL авторизации.
public string $authUrl = 'https://www.facebook.com/dialog/oauth'
$autoExchangeAccessToken общедоступное свойство (доступно начиная с версии 2.1.3)
Автоматически ли обновлять краткосрочный (2 часа) токен доступа до долгосрочного (60 дней), после его получения.
См. также \yii\authclient\clients\exchangeToken().
public boolean $autoExchangeAccessToken = false
$autoRefreshAccessToken общедоступное свойство
Автоматически ли выполнять запрос 'обновления токена доступа' при истечении срока действия токена доступа.
public boolean $autoRefreshAccessToken = false
$clientAuthCodeUrl общедоступное свойство (доступно начиная с версии 2.1.3)
Конечная точка URL для генерации кода авторизации клиента.
См. также:
- https://developers.facebook.com/docs/facebook-login/access-tokens/expiration-and-extension
- fetchClientAuthCode()
- fetchClientAccessToken()
public string $clientAuthCodeUrl = 'https://graph.facebook.com/oauth/client_code'
$scope общедоступное свойство
Область действия запроса на авторизацию.
public string $scope = 'email'
$tokenUrl общедоступное свойство
Конечная точка URL запроса токена.
public string $tokenUrl = 'https://graph.facebook.com/oauth/access_token'
Подробное описание методов
applyAccessTokenToRequest() public метод
Применяет токен доступа к экземпляру HTTP-запроса.
| public void applyAccessTokenToRequest ( $request, $accessToken ) | ||
|---|---|---|
| $request | yii\httpclient\Request |
Экземпляр HTTP-запроса. |
| $accessToken | yii\authclient\OAuthToken |
Экземпляр токена доступа. |
defaultName() protected метод
Генерирует имя сервиса.
| protected string defaultName ( ) | ||
|---|---|---|
| return | string |
Имя сервиса. |
defaultTitle() protected метод
Генерирует заголовок сервиса.
| protected string defaultTitle ( ) | ||
|---|---|---|
| return | string |
Заголовок сервиса. |
defaultViewOptions() protected метод
Возвращает значение по умолчанию для $viewOptions.
Конкретный клиент может переопределить этот метод, чтобы предоставить специфичные значения по умолчанию для параметров отображения.
| protected array defaultViewOptions ( ) | ||
|---|---|---|
| return | array |
Список значений по умолчанию для $viewOptions. |
exchangeAccessToken() public метод (доступен начиная с версии 2.1.3)
Обменивает краткосрочный (2 часа) токен доступа на долгосрочный (60 дней).
Обратите внимание, что этот метод может успешно выполниться для уже долгосрочного токена, но не продлит его срок действия. Обратите внимание, что этот метод не будет работать с уже истекшим токеном доступа.
См. также 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 |
Краткосрочный токен доступа. |
| return | yii\authclient\OAuthToken |
Долгосрочный токен доступа. |
fetchAccessToken() public метод
Получает токен доступа по коду авторизации.
| public yii\authclient\OAuthToken fetchAccessToken ( $authCode, array $params = [] ) | ||
|---|---|---|
| $authCode | string |
Код авторизации, обычно приходит в $_GET['code']. |
| $params | array |
Дополнительные параметры запроса. |
| return | yii\authclient\OAuthToken |
Токен доступа. |
| throws | yii\web\HttpException |
при неверном состоянии авторизации в случае, если \yii\authclient\clients\enableStateValidation включён. |
fetchClientAccessToken() public метод (доступен начиная с версии 2.1.3)
Получает токен доступа по коду авторизации для конкретного клиента.
Это полезно для распределённых приложений, которые предоставляют несколько клиентов авторизации (веб и мобильные), чтобы избежать срабатывания автоматических систем спама Facebook.
См. также:
- https://developers.facebook.com/docs/facebook-login/access-tokens/expiration-and-extension
- fetchClientAuthCode()
| public yii\authclient\OAuthToken fetchClientAccessToken ( $authCode, array $params = [] ) | ||
|---|---|---|
| $authCode | string |
Код авторизации клиента. |
| $params | array | |
| return | yii\authclient\OAuthToken |
Долгосрочный токен доступа, специфичный для клиента. |
fetchClientAuthCode() public метод (доступен начиная с версии 2.1.3)
Запрашивает код авторизации для токена доступа, специфичного для клиента.
Это полезно для распределённых приложений, которые предоставляют несколько клиентов авторизации (веб и мобильные), чтобы избежать срабатывания автоматических систем спама Facebook.
См. также:
- https://developers.facebook.com/docs/facebook-login/access-tokens/expiration-and-extension
- fetchClientAccessToken()
| public string fetchClientAuthCode ( yii\authclient\OAuthToken $token = null, $params = [] ) | ||
|---|---|---|
| $token | yii\authclient\OAuthToken|null |
Токен доступа; если не задан, используется $accessToken. |
| $params | array |
Дополнительные параметры запроса. |
| return | string |
Код авторизации клиента. |
initUserAttributes() protected метод
Инициализирует атрибуты авторизованного пользователя.
| protected array initUserAttributes ( ) | ||
|---|---|---|
| return | array |
Атрибуты пользователя. |
© 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