Абстрактный класс yii\authclient\OAuth1
| Наследование | yii\authclient\OAuth1 » yii\authclient\BaseOAuth » yii\authclient\BaseClient » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\authclient\ClientInterface, yii\base\Configurable |
| Подклассы | yii\authclient\clients\Twitter |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2-authclient/blob/master/OAuth1.php |
OAuth1 служит клиентом для потока OAuth 1/1.0a.
Для получения токена доступа выполните следующие действия:
use yii\authclient\OAuth1; $oauthClient = new OAuth1(); $requestToken = $oauthClient->fetchRequestToken(); // Get request token $url = $oauthClient->buildAuthUrl($requestToken); // Get authorization URL return Yii::$app->getResponse()->redirect($url); // Redirect to authorization URL // After user returns at our site: $accessToken = $oauthClient->fetchAccessToken($requestToken); // Upgrade to access token
См. также https://oauth.net/1/ https://tools.ietf.org/html/rfc5849.
Общедоступные свойства
Общедоступные методы
| Метод | Описание | Определено в |
|---|---|---|
| __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\OAuth1 |
| attachBehavior() | Присоединяет поведение к этому компоненту. | yii\base\Component |
| attachBehaviors() | Присоединяет список поведений к компоненту. | yii\base\Component |
| beforeApiRequestSend() | Обрабатывает событие yii\httpclient\Request::EVENT_BEFORE_SEND. | yii\authclient\BaseOAuth |
| beforeRequestSend() | Обрабатывает событие yii\httpclient\Request::EVENT_BEFORE_SEND событие. | yii\authclient\OAuth1 |
| behaviors() | Возвращает список поведений, в соответствии с которыми должен действовать этот компонент. | yii\base\Component |
| buildAuthUrl() | Создаёт URL авторизации пользователя. | yii\authclient\OAuth1 |
| canGetProperty() | Возвращает значение, указывающее, можно ли прочитать свойство. | yii\base\Component |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Component |
| className() | Возвращает полное квалифицированное имя этого класса. | yii\base\Object |
| createApiRequest() | Создаёт HTTP-запрос для вызова API. | yii\authclient\OAuth1 |
| createRequest() | Создаёт экземпляр HTTP-запроса. | yii\authclient\OAuth1 |
| detachBehavior() | Отсоединяет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Отсоединяет все поведения от компонента. | yii\base\Component |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. | yii\base\Component |
| fetchAccessToken() | Получает токен доступа OAuth. | yii\authclient\OAuth1 |
| fetchRequestToken() | Получает токен запроса OAuth. | yii\authclient\OAuth1 |
| 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\OAuth1 |
| 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 | |
| signRequest() | Подписывает заданный запрос с помощью $signatureMethod. | yii\authclient\OAuth1 |
| trigger() | Вызывает событие. | yii\base\Component |
Защищенные методы
| Метод | Описание | Определено в |
|---|---|---|
| composeAuthorizationHeader() | Формирует заголовок авторизации. | yii\authclient\OAuth1 |
| composeSignatureBaseString() | Создаёт базу строки подписи, которая будет подписана с помощью $signatureMethod. | yii\authclient\OAuth1 |
| composeSignatureKey() | Формирует ключ подписи запроса. | yii\authclient\OAuth1 |
| composeUrl() | Формирует URL из базового URL и параметров GET. | yii\authclient\BaseOAuth |
| createHttpClient() | Создаёт экземпляр HTTP-клиента из ссылки или конфигурации. | yii\authclient\BaseOAuth |
| createSignatureMethod() | Создаёт экземпляр метода подписи из его конфигурации. | yii\authclient\BaseOAuth |
| createToken() | Создаёт токен из его конфигурации. | yii\authclient\BaseOAuth |
| defaultName() | Генерирует имя сервиса. | yii\authclient\BaseClient |
| defaultNormalizeUserAttributeMap() | Возвращает значение по умолчанию $normalizeUserAttributeMap. | yii\authclient\BaseClient |
| defaultRequestOptions() | Возвращает параметры запроса HTTP по умолчанию. | yii\authclient\BaseOAuth |
| defaultReturnUrl() | Формирует значение по умолчанию для $returnUrl. | yii\authclient\OAuth1 |
| defaultTitle() | Генерирует заголовок сервиса. | yii\authclient\BaseClient |
| defaultViewOptions() | Возвращает значение по умолчанию $viewOptions. | yii\authclient\BaseClient |
| generateCommonRequestParams() | Генерирует общие параметры запроса, такие как версия, метка времени и т.д. | yii\authclient\OAuth1 |
| generateNonce() | Генерирует значение nonce. | yii\authclient\OAuth1 |
| generateTimestamp() | Генерирует метку времени. | yii\authclient\OAuth1 |
| getState() | Возвращает значение состояния из кэша. | yii\authclient\BaseClient |
| getStateKeyPrefix() | Возвращает префикс ключа сессии, который используется для хранения внутренних состояний. | yii\authclient\BaseClient |
| initUserAttributes() | Инициализирует атрибуты аутентифицированного пользователя. | yii\authclient\BaseClient |
| 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 |
Подробное описание свойств
$accessTokenMethod общедоступное свойство
Метод HTTP для получения токена доступа.
public string $accessTokenMethod = 'GET'
$accessTokenUrl общедоступное свойство
URL для получения токена доступа OAuth.
public string $accessTokenUrl = null
$authorizationHeaderMethods общедоступное свойство (доступно с версии 2.1.1)
Список методов запроса, которые требуют добавления заголовка «Authorization». По умолчанию только запросы POST будут иметь заголовок «Authorization». Вы можете установить это значение в null , чтобы все запросы использовали заголовок «Authorization».
public array|null $authorizationHeaderMethods = ['POST']
$consumerKey общедоступное свойство
Ключ потребителя OAuth.
public string $consumerKey = null
$consumerSecret общедоступное свойство
Секрет потребителя OAuth.
public string $consumerSecret = null
$requestTokenMethod общедоступное свойство
Метод HTTP для получения токена запроса.
public string $requestTokenMethod = 'GET'
$requestTokenUrl общедоступное свойство
URL для получения токена запроса OAuth.
public string $requestTokenUrl = null
$version общедоступное свойство
Версия протокола.
public string $version = '1.0'
Подробное описание методов
applyAccessTokenToRequest() public method
Применяет токен доступа к экземпляру HTTP-запроса.
| public void applyAccessTokenToRequest ( $request, $accessToken ) | ||
|---|---|---|
| $request | yii\httpclient\Request |
Экземпляр HTTP-запроса. |
| $accessToken | yii\authclient\OAuthToken |
Экземпляр токена доступа. |
beforeRequestSend() public method (доступно с версии 2.1)
Обрабатывает событие yii\httpclient\Request::EVENT_BEFORE_SEND.
Обеспечивает, что каждый запрос подписан перед отправкой.
| public void beforeRequestSend ( $event ) | ||
|---|---|---|
| $event | yii\httpclient\RequestEvent |
Экземпляр события. |
buildAuthUrl() public method
Формирует URL для авторизации пользователя.
| public string buildAuthUrl ( yii\authclient\OAuthToken $requestToken = null, array $params = [] ) | ||
|---|---|---|
| $requestToken | yii\authclient\OAuthToken |
Токен запроса OAuth. |
| $params | array |
Дополнительные параметры запроса. |
| return | string |
URL авторизации |
| throws | yii\base\InvalidParamException |
при ошибке. |
composeAuthorizationHeader() protected method
Формирует заголовок авторизации.
| protected array composeAuthorizationHeader ( array $params, $realm = '' ) | ||
|---|---|---|
| $params | array |
Параметры запроса. |
| $realm | string |
Область авторизации. |
| return | array |
Заголовок авторизации в формате: [имя => содержимое]. |
composeSignatureBaseString() protected method
Создаёт строку базового значения подписи, которая будет подписана методом $signatureMethod.
| protected string composeSignatureBaseString ( $method, $url, array $params ) | ||
|---|---|---|
| $method | string |
Метод запроса. |
| $url | string |
URL запроса. |
| $params | array |
Параметры запроса. |
| return | string |
Строка базового значения подписи. |
composeSignatureKey() protected method
Формирует ключ подписи запроса.
| protected string composeSignatureKey ( $token = null ) | ||
|---|---|---|
| $token | yii\authclient\OAuthToken|null |
Токен OAuth, который будет использован для ключа подписи. |
| return | string |
Ключ подписи. |
createApiRequest() public method
Создаёт HTTP-запрос для вызова API.
Созданный запрос будет автоматически обработан с добавлением параметров токена доступа и подписи перед отправкой. Вы можете использовать createRequest(), чтобы получить полный контроль над формированием и выполнением запроса.
| public yii\httpclient\Request createApiRequest ( ) | ||
|---|---|---|
| return | yii\httpclient\Request |
Экземпляр HTTP-запроса. |
createRequest() public method
Создаёт экземпляр HTTP-запроса.
| public yii\httpclient\Request createRequest ( ) | ||
|---|---|---|
| return | yii\httpclient\Request |
Экземпляр HTTP-запроса. |
defaultReturnUrl() protected method
Формирует значение по умолчанию для $returnUrl.
| protected string defaultReturnUrl ( ) | ||
|---|---|---|
| return | string |
URL возврата. |
fetchAccessToken() public method
Получает токен доступа OAuth.
| public yii\authclient\OAuthToken fetchAccessToken ( $oauthToken = null, yii\authclient\OAuthToken $requestToken = null, $oauthVerifier = null, array $params = [] ) | ||
|---|---|---|
| $oauthToken | string |
Токен OAuth, возвращённый при перенаправлении обратно клиенту. |
| $requestToken | yii\authclient\OAuthToken |
Токен запроса OAuth. |
| $oauthVerifier | string |
Проверяющий OAuth. |
| $params | array |
Дополнительные параметры запроса. |
| return | yii\authclient\OAuthToken |
Токен доступа OAuth. |
| throws | yii\base\InvalidParamException |
при ошибке. |
| throws | yii\web\HttpException |
в случае несоответствия токена OAuth токену запроса. |
fetchRequestToken() public method
Получает токен запроса OAuth.
| public yii\authclient\OAuthToken fetchRequestToken ( array $params = [] ) | ||
|---|---|---|
| $params | array |
Дополнительные параметры запроса. |
| return | yii\authclient\OAuthToken |
Токен запроса. |
generateCommonRequestParams() protected method
Генерирует общие параметры запроса, такие как версия, отметка времени и т. д.
| protected array generateCommonRequestParams ( ) | ||
|---|---|---|
| return | array |
Общие параметры запроса. |
generateNonce() protected method
Генерирует значение nonce.
| protected string generateNonce ( ) | ||
|---|---|---|
| return | string |
Значение nonce. |
generateTimestamp() protected method
Генерирует метку времени.
| protected integer generateTimestamp ( ) | ||
|---|---|---|
| return | integer |
Метка времени. |
refreshAccessToken() public method
Получает новый токен авторизации для замены истекшего.
| public yii\authclient\OAuthToken refreshAccessToken ( yii\authclient\OAuthToken $token ) | ||
|---|---|---|
| $token | yii\authclient\OAuthToken |
Истекший токен авторизации. |
| return | yii\authclient\OAuthToken |
Новый токен авторизации. |
signRequest() public method (available since version 2.1)
Подписать данный запрос с помощью $signatureMethod.
| public void signRequest ( $request, $token = null ) | ||
|---|---|---|
| $request | yii\httpclient\Request |
Экземпляр запроса. |
| $token | yii\authclient\OAuthToken|null |
Токен OAuth, который будет использован для подписи. Если не задан, будет использован $accessToken. |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-authclient-oauth1.html