Абстрактный класс yii\authclient\OAuth2
OAuth2 служит клиентом для потока OAuth 2.
Для получения токена доступа выполните следующие действия:
use yii\authclient\OAuth2; // assuming class MyAuthClient extends OAuth2 $oauthClient = new MyAuthClient(); $url = $oauthClient->buildAuthUrl(); // Build authorization URL Yii::$app->getResponse()->redirect($url); // Redirect to authorization URL. // After user returns at our site: $code = $_GET['code']; $accessToken = $oauthClient->fetchAccessToken($code); // Get access token
См. также:
Открытые свойства
Открытые методы
| Метод | Описание | Определено в |
|---|---|---|
| __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\OAuth2 |
| 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 |
| fetchAccessToken() | Извлекает токен доступа по коду авторизации. | yii\authclient\OAuth2 |
| 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\BaseClient |
| defaultNormalizeUserAttributeMap() | Возвращает значение по умолчанию для $normalizeUserAttributeMap. | yii\authclient\BaseClient |
| defaultRequestOptions() | Возвращает значения по умолчанию для опций HTTP-запроса. | yii\authclient\BaseOAuth |
| defaultReturnUrl() | Формирует значение по умолчанию для $returnUrl. | yii\authclient\OAuth2 |
| defaultTitle() | Генерирует заголовок сервиса. | yii\authclient\BaseClient |
| defaultViewOptions() | Возвращает значение по умолчанию для $viewOptions. | yii\authclient\BaseClient |
| generateAuthState() | Генерирует значение состояния авторизации. | yii\authclient\OAuth2 |
| 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 |
Подробности свойств
$clientId публичное свойство
Идентификатор клиента OAuth.
public string $clientId = null
$clientSecret публичное свойство
Секрет клиента OAuth.
public string $clientSecret = null
$tokenUrl публичное свойство
Конечная точка URL запроса токена.
public string $tokenUrl = null
$validateAuthState публичное свойство (доступно начиная с версии 2.1)
Указывает, следует ли использовать и проверять параметр состояния авторизации 'state' в процессе аутентификации. Если включено, генерируется невидимое значение и добавляется в URL авторизации для сохранения состояния между запросом и обратным вызовом. Сервер авторизации включает это значение при перенаправлении браузера пользователя обратно клиенту. Опция используется для предотвращения подделки межсайтовых запросов.
public boolean $validateAuthState = true
$version публичное свойство
Версия протокола.
public string $version = '2.0'
Подробности методов
applyAccessTokenToRequest() public method
Применяет токен доступа к экземпляру HTTP-запроса.
| public void applyAccessTokenToRequest ( $request, $accessToken ) | ||
|---|---|---|
| $request | yii\httpclient\Request |
Экземпляр HTTP-запроса. |
| $accessToken | yii\authclient\OAuthToken |
Экземпляр токена доступа. |
applyClientCredentialsToRequest() protected method (available since version 2.1.3)
Применяет учетные данные клиента (например, $clientId и $clientSecret) к экземпляру HTTP-запроса.
Этот метод следует вызывать перед отправкой любого HTTP-запроса, требующего учетных данных клиента.
| protected void applyClientCredentialsToRequest ( $request ) | ||
|---|---|---|
| $request | yii\httpclient\Request |
Экземпляр HTTP-запроса. |
authenticateClient() public method (available since version 2.1.0)
Авторизует клиента OAuth напрямую у поставщика без участия третьей стороны (пользователя), используя тип запроса 'client_credentials'.
См. также http://tools.ietf.org/html/rfc6749#section-4.4.
| public yii\authclient\OAuthToken authenticateClient ( $params = [] ) | ||
|---|---|---|
| $params | array |
Дополнительные параметры запроса. |
| return | yii\authclient\OAuthToken |
Токен доступа. |
authenticateUser() public method (available since version 2.1.0)
Авторизует пользователя напрямую по паре 'имя пользователя/пароль', используя тип запроса 'password'.
См. также https://tools.ietf.org/html/rfc6749#section-4.3.
| public yii\authclient\OAuthToken authenticateUser ( $username, $password, $params = [] ) | ||
|---|---|---|
| $username | string |
Имя пользователя. |
| $password | string |
Пароль пользователя. |
| $params | array |
Дополнительные параметры запроса. |
| return | yii\authclient\OAuthToken |
Токен доступа. |
authenticateUserJwt() public method (available since version 2.1.3)
Авторизует пользователя напрямую с помощью JSON Web Token (JWT).
См. также https://tools.ietf.org/html/rfc7515.
| public yii\authclient\OAuthToken authenticateUserJwt ( $username, $signature = null, $options = [], $params = [] ) | ||
|---|---|---|
| $username | string | |
| $signature | yii\authclient\signature\BaseMethod|array |
Метод подписи или его конфигурация в виде массива. Если пусто, используется $signatureMethod. |
| $options | array |
Дополнительные параметры. Допустимые параметры:
|
| $params | array |
Дополнительные параметры запроса. |
| return | yii\authclient\OAuthToken |
Токен доступа. |
buildAuthUrl() public method
Строит URL для авторизации пользователя.
| public string buildAuthUrl ( array $params = [] ) | ||
|---|---|---|
| $params | array |
Дополнительные параметры GET для авторизации. |
| return | string |
URL авторизации. |
createToken() protected method
Создаёт токен из его конфигурации.
| protected yii\authclient\OAuthToken createToken ( array $tokenConfig = [] ) | ||
|---|---|---|
| $tokenConfig | array |
Конфигурация токена. |
| return | yii\authclient\OAuthToken |
Экземпляр токена. |
defaultReturnUrl() protected method
Строит значение по умолчанию для $returnUrl.
| protected string defaultReturnUrl ( ) | ||
|---|---|---|
| return | string |
URL возврата. |
fetchAccessToken() public method
Извлекает токен доступа по коду авторизации.
| public yii\authclient\OAuthToken fetchAccessToken ( $authCode, array $params = [] ) | ||
|---|---|---|
| $authCode | string |
Код авторизации, обычно поступает в $_GET['code']. |
| $params | array |
Дополнительные параметры запроса. |
| return | yii\authclient\OAuthToken |
Токен доступа. |
| throws | yii\web\HttpException |
при некорректном состоянии авторизации, если \yii\authclient\enableStateValidation включен. |
generateAuthState() protected method (available since version 2.1)
Генерирует значение состояния авторизации.
| protected string generateAuthState ( ) | ||
|---|---|---|
| return | string |
Значение состояния авторизации. |
refreshAccessToken() public method
Получает новый токен авторизации для замены истекшего.
| public yii\authclient\OAuthToken refreshAccessToken ( yii\authclient\OAuthToken $token ) | ||
|---|---|---|
| $token | yii\authclient\OAuthToken |
Истекший токен авторизации. |
| return | yii\authclient\OAuthToken |
Новый токен авторизации. |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-authclient-oauth2.html