Spec-Zone.ru › Yii 2.0

Класс 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',
            ],
        ],
    ]
    ...
]

См. также:

  • https://developers.facebook.com/apps
  • http://developers.facebook.com/docs/reference/api

Публичные свойства

Свойство Тип Описание Определено в
$accessToken массив|yii\authclient\OAuthToken Токен доступа или его конфигурация. yii\authclient\BaseOAuth
$apiBaseUrl строка Базовый URL API. yii\authclient\clients\Facebook
$attributeNames массив Список имен атрибутов, которые должны быть запрошены у API для инициализации атрибутов пользователя. yii\authclient\clients\Facebook
$authUrl строка URL авторизации. yii\authclient\clients\Facebook
$autoExchangeAccessToken логическое значение Автоматически обновить короткий (2 часа) токен доступа до долгосрочного (60 дней), после его получения. yii\authclient\clients\Facebook
$autoRefreshAccessToken логическое значение Автоматически выполнить запрос 'обновления токена доступа' при истечении срока действия токена. yii\authclient\clients\Facebook
$behaviors yii\base\Behavior[] Список поведений, прикрепленных к данному компоненту yii\base\Component
$clientAuthCodeUrl строка URL-адрес для получения кода авторизации клиента. yii\authclient\clients\Facebook
$clientId строка ID клиента OAuth. yii\authclient\OAuth2
$clientSecret строка Секрет клиента OAuth. yii\authclient\OAuth2
$httpClient yii\httpclient\Client Внутренний HTTP-клиент. yii\authclient\BaseClient
$id строка Идентификатор сервиса. yii\authclient\ClientInterface
$name строка Имя сервиса. yii\authclient\ClientInterface
$normalizeUserAttributeMap массив Карта нормализации атрибутов пользователя. yii\authclient\BaseClient
$requestOptions массив Параметры HTTP-запроса. yii\authclient\BaseClient
$returnUrl строка URL возврата yii\authclient\BaseOAuth
$scope строка Область запроса авторизации. yii\authclient\clients\Facebook
$signatureMethod массив|yii\authclient\signature\BaseMethod Экземпляр метода подписи или его конфигурация в виде массива. yii\authclient\BaseOAuth
$stateStorage yii\authclient\StateStorageInterface Хранилище состояния. yii\authclient\BaseClient
$title строка Заголовок сервиса. yii\authclient\ClientInterface
$tokenUrl строка URL-адрес для запроса токена. yii\authclient\clients\Facebook
$userAttributes массив Список атрибутов пользователя. yii\authclient\BaseClient
$validateAuthState логическое значение Использовать и проверять параметр 'state' авторизации в процессе аутентификации. yii\authclient\OAuth2
$version строка Версия протокола. yii\authclient\OAuth2
$viewOptions массив Параметры отображения в формате: имяПараметра => значениеПараметра yii\authclient\BaseClient

Публичные методы

Метод Описание Определено в
__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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API