Spec-Zone.ru › Yii 2.0

Абстрактный класс yii\authclient\OAuth2

Все классы | Свойства | Методы
Наследование yii\authclient\OAuth2 » yii\authclient\BaseOAuth » yii\authclient\BaseClient » yii\base\Component » yii\base\Object
Реализует yii\authclient\ClientInterface, yii\base\Configurable
Подклассы yii\authclient\OpenIdConnect, yii\authclient\clients\Facebook, yii\authclient\clients\GitHub, yii\authclient\clients\Google, yii\authclient\clients\GoogleHybrid, yii\authclient\clients\LinkedIn, yii\authclient\clients\Live, yii\authclient\clients\VKontakte, yii\authclient\clients\Yandex
Доступен с версии 2.0
Исходный код https://github.com/yiisoft/yii2-authclient/blob/master/OAuth2.php

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

См. также:

  • http://oauth.net/2/
  • https://tools.ietf.org/html/rfc6749

Открытые свойства

Свойство Тип Описание Определено в
$accessToken массив|yii\authclient\OAuthToken Токен доступа или его конфигурация. yii\authclient\BaseOAuth
$apiBaseUrl строка Базовый URL API. yii\authclient\BaseOAuth
$authUrl строка URL авторизации. yii\authclient\BaseOAuth
$autoRefreshAccessToken логическое Выполнять автоматический запрос "обновления токена доступа" при истечении срока действия токена. yii\authclient\BaseOAuth
$behaviors yii\base\Behavior[] Список присоединенных к этому компоненту поведений. yii\base\Component
$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\BaseOAuth
$signatureMethod массив|yii\authclient\signature\BaseMethod Экземпляр метода подписи или его конфигурация в виде массива. yii\authclient\BaseOAuth
$stateStorage yii\authclient\StateStorageInterface Хранилище состояния. yii\authclient\BaseClient
$title строка Название сервиса. yii\authclient\ClientInterface
$tokenUrl строка Конечная точка запроса токена. yii\authclient\OAuth2
$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\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

Дополнительные параметры. Допустимые параметры:

  • header: массив, дополнительные параметры заголовка JWS.
  • payload: массив, дополнительные параметры полезной нагрузки JWS (сообщение или набор утверждений).
  • signatureKey: строка, ключ подписи, который будет использоваться. Если не задан, используется $clientSecret.
$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

Spec-Zone.ru

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