Spec-Zone.ru › Yii 2.0

Класс yii\authclient\OpenIdConnect

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

OpenIdConnect служит клиентом для потока OpenIdConnect.

Пример конфигурации приложения:

'components' => [
    'authClientCollection' => [
        'class' => 'yii\authclient\Collection',
        'clients' => [
            'google' => [
                'class' => 'yii\authclient\OpenIdConnect',
                'issuerUrl' => 'https://accounts.google.com',
                'clientId' => 'google_client_id',
                'clientSecret' => 'google_client_secret',
                'name' => 'google',
                'title' => 'Google OpenID Connect',
            ],
        ],
    ]
    // ...
]

Для проверки JWS этому классу требуется библиотека spomky-labs/jose. Ее можно установить через Composer:

composer require --prefer-dist "spomky-labs/jose:~5.0.6"

Примечание: если вы используете надежного поставщика OpenIdConnect, вы можете отключить $validateJws, сделав установку библиотеки spomky-labs/jose излишней, однако это не рекомендуется, так как нарушает спецификацию протокола.

См. также:

  • http://openid.net/connect/
  • yii\authclient\OAuth2

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

Свойство Тип Описание Определено в
$accessToken массив|yii\authclient\OAuthToken Токен доступа или его конфигурация. yii\authclient\BaseOAuth
$allowedJwsAlgorithms массив JWS алгоритмы, которые разрешены к использованию. yii\authclient\OpenIdConnect
$apiBaseUrl строка Базовый URL API. yii\authclient\BaseOAuth
$authUrl строка URL авторизации. yii\authclient\BaseOAuth
$autoRefreshAccessToken логическое Автоматически выполнять запрос «обновления токена доступа» при истечении срока действия токена доступа. yii\authclient\BaseOAuth
$behaviors yii\base\Behavior[] Список поведений, прикрепленных к этому компоненту yii\base\Component
$cache yii\caching\Cache|null Объект кеша, null — если не включен. yii\authclient\OpenIdConnect
$clientId строка Идентификатор клиента OAuth. yii\authclient\OAuth2
$clientSecret строка Секретный ключ клиента OAuth. yii\authclient\OAuth2
$configParams массив Параметры конфигурации поставщика OpenID. yii\authclient\OpenIdConnect
$configParamsCacheKeyPrefix строка Префикс ключа для хранения данных $configParams в кеше. yii\authclient\OpenIdConnect
$httpClient yii\httpclient\Client Внутренний HTTP-клиент. yii\authclient\BaseClient
$id строка Идентификатор сервиса. yii\authclient\ClientInterface
$issuerUrl строка Базовый URL OpenID-эмитента (поставщика), например `https://example`. yii\authclient\OpenIdConnect
$name строка Название сервиса. yii\authclient\ClientInterface
$normalizeUserAttributeMap массив Карта нормализации атрибутов пользователя. yii\authclient\BaseClient
$requestOptions массив Параметры запроса HTTP. yii\authclient\BaseClient
$returnUrl строка URL возврата yii\authclient\BaseOAuth
$scope строка Область запроса аутентификации. yii\authclient\OpenIdConnect
$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
$validateAuthNonce логическое Использовать и проверять параметр аутентификации 'nonce' в потоке аутентификации. yii\authclient\OpenIdConnect
$validateAuthState логическое Использовать и проверять параметр аутентификации 'state' в потоке аутентификации. yii\authclient\OAuth2
$validateJws логическое Проверять/расшифровывать JWS, полученный с токеном аутентификации. yii\authclient\OpenIdConnect
$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\OpenIdConnect
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\OpenIdConnect
getAccessToken() yii\authclient\BaseOAuth
getBehavior() Возвращает объект именованного поведения. yii\base\Component
getBehaviors() Возвращает все прикрепленные к этому компоненту поведения. yii\base\Component
getCache() yii\authclient\OpenIdConnect
getConfigParam() Возвращает значение конкретного параметра конфигурации. yii\authclient\OpenIdConnect
getConfigParams() yii\authclient\OpenIdConnect
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
getValidateAuthNonce() yii\authclient\OpenIdConnect
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\OpenIdConnect
setAccessToken() Устанавливает токен доступа для использования. yii\authclient\BaseOAuth
setCache() Настройка компонента для кэширования. yii\authclient\OpenIdConnect
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
setValidateAuthNonce() yii\authclient\OpenIdConnect
setViewOptions() yii\authclient\BaseClient
trigger() Вызывает событие. yii\base\Component

Защищенные методы

Метод Описание Определено в
applyClientCredentialsToRequest() Применяет учетные данные клиента (например, $clientId и $clientSecret) к экземпляру HTTP-запроса. yii\authclient\OpenIdConnect
composeUrl() Формирует URL из базового URL и параметров GET. yii\authclient\BaseOAuth
createHttpClient() Создает экземпляр HTTP-клиента из ссылки или конфигурации. yii\authclient\BaseOAuth
createSignatureMethod() Создает экземпляр метода подписи из его конфигурации. yii\authclient\BaseOAuth
createToken() Создает токен из его конфигурации. yii\authclient\OpenIdConnect
defaultName() Генерирует имя сервиса. yii\authclient\BaseClient
defaultNormalizeUserAttributeMap() Возвращает значение по умолчанию $normalizeUserAttributeMap. yii\authclient\BaseClient
defaultRequestOptions() Возвращает значения параметров HTTP-запроса по умолчанию. yii\authclient\BaseOAuth
defaultReturnUrl() Формирует значение по умолчанию для $returnUrl. yii\authclient\OpenIdConnect
defaultTitle() Генерирует заголовок сервиса. yii\authclient\BaseClient
defaultViewOptions() Возвращает значение по умолчанию для $viewOptions. yii\authclient\BaseClient
discoverConfig() Ищет параметры конфигурации поставщика OpenID. yii\authclient\OpenIdConnect
generateAuthNonce() Генерирует значение nonce авторизации. yii\authclient\OpenIdConnect
generateAuthState() Генерирует значение состояния авторизации. yii\authclient\OAuth2
getState() Возвращает значение состояния. yii\authclient\BaseClient
getStateKeyPrefix() Возвращает префикс ключа сессии, используемый для хранения внутренних состояний. yii\authclient\BaseClient
initUserAttributes() Инициализирует атрибуты авторизованного пользователя. yii\authclient\OpenIdConnect
loadJws() Расшифровывает/валидирует JWS, возвращая связанные данные. yii\authclient\OpenIdConnect
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

Подробное описание свойств

$allowedJwsAlgorithms общественное свойство

JWS алгоритмы, которые разрешено использовать. Они используются библиотекой spomky-labs/jose для валидации/расшифровки JWS. Убедитесь, что spomky-labs/jose поддерживает конкретный алгоритм перед добавлением его сюда.

public array $allowedJwsAlgorithms = ['HS256', 'HS384', 'HS512', 'ES256', 'ES384', 'ES512', 'RS256', 'RS384', 'RS512', 'PS256', 'PS384', 'PS512']

$cache общественное свойство

Объект кэширования, null - если не включен.

public yii\caching\Cache|null getCache ( )
public void setCache ( $cache )

$configParams общественное только для чтения свойство

Параметры конфигурации поставщика OpenID.

public array getConfigParams ( )

$configParamsCacheKeyPrefix общественное свойство

Префикс для ключа, используемого для хранения данных $configParams в кэше. Фактический ключ кэша будет сформирован путем добавления значения $id к нему.

См. также $cache.

public string $configParamsCacheKeyPrefix = 'config-params-'

$issuerUrl общественное свойство

Базовый URL OpenID-эмитента (поставщика), например, https://example.com.

public string $issuerUrl = null

$scope общественное свойство

Область действия запроса аутентификации.

public string $scope = 'openid'

$validateAuthNonce общее свойство

Использовать и проверять параметр аутентификации 'nonce' в процессе аутентификации.

public boolean getValidateAuthNonce ( )
public void setValidateAuthNonce ( $validateAuthNonce )

$validateJws общее свойство

Проверять/расшифровывать JWS, полученный с маркером аутентификации. Примечание: эта функциональность требует spomky-labs/jose пакета composer для установки. Вы можете отключить этот параметр в случае использования доверенного поставщика OpenIDConnect, однако это нарушает правила протокола, поэтому вы делаете это на свой страх и риск.

public boolean $validateJws = true

Подробное описание методов

applyClientCredentialsToRequest() защищённый метод

Применяет клиентские учетные данные (например, $clientId и $clientSecret) к экземпляру HTTP-запроса.

Этот метод необходимо вызывать перед отправкой любого HTTP-запроса, требующего клиентских учетных данных.

защищённый void applyClientCredentialsToRequest ( $request )
$request yii\httpclient\Request

Экземпляр HTTP-запроса.

buildAuthUrl() публичный метод

Создаёт URL авторизации пользователя.

публичный строка buildAuthUrl ( массив $params = [] )
$params массив

Дополнительные параметры GET для авторизации.

return строка

URL авторизации.

createToken() защищённый метод

Создаёт токен из его конфигурации.

защищённый yii\authclient\OAuthToken createToken ( массив $tokenConfig = [] )
$tokenConfig массив

Конфигурация токена.

return yii\authclient\OAuthToken

Экземпляр токена.

defaultReturnUrl() защищённый метод

Создаёт значение по умолчанию для $returnUrl.

защищённый строка defaultReturnUrl ( )
return строка

URL возврата.

discoverConfig() защищённый метод

Ищет параметры конфигурации поставщика OpenID.

защищённый массив discoverConfig ( )
return массив

Параметры конфигурации поставщика OpenID.

throws yii\authclient\InvalidResponseException

при ошибке.

fetchAccessToken() публичный метод

Получает токен доступа по коду авторизации.

публичный yii\authclient\OAuthToken fetchAccessToken ( $authCode, массив $params = [] )
$authCode строка

Код авторизации, обычно из $_GET['code'].

$params массив

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

return yii\authclient\OAuthToken

Токен доступа.

throws yii\web\HttpException

при некорректном состоянии авторизации, если \yii\authclient\enableStateValidation включено.

generateAuthNonce() защищённый метод

Генерирует значение nonce для авторизации.

защищённый строка generateAuthNonce ( )
return строка

Значение nonce для авторизации.

getCache() публичный метод

публичный yii\caching\Cache|null getCache ( )
return yii\caching\Cache|null

Объект кэша, null - если не включён.

getConfigParam() публичный метод

Возвращает значение определённого параметра конфигурации.

публичный mixed getConfigParam ( $name )
$name строка

Имя параметра конфигурации.

return mixed

Значение параметра конфигурации.

getConfigParams() публичный метод

публичный массив getConfigParams ( )
return массив

Параметры конфигурации поставщика OpenID.

getValidateAuthNonce() публичный метод

публичный булево getValidateAuthNonce ( )
return булево

Использовать и проверять параметр авторизации 'nonce' в процессе аутентификации.

initUserAttributes() защищённый метод

Инициализирует атрибуты аутентифицированного пользователя.

защищённый массив initUserAttributes ( )
return массив

Атрибуты пользователя для авторизации.

loadJws() защищённый метод

Дешифрует/проверяет JWS, возвращая связанные данные.

защищённый массив loadJws ( $jws )
$jws строка

Исходный JWS ввод.

return массив

Подлежащие данные JWS.

throws yii\web\HttpException

при некорректной подписи JWS.

refreshAccessToken() публичный метод

Получает новый токен авторизации для замены истекшего.

публичный yii\authclient\OAuthToken refreshAccessToken ( yii\authclient\OAuthToken $token )
$token yii\authclient\OAuthToken

Истекший токен авторизации.

return yii\authclient\OAuthToken

Новый токен авторизации.

setCache() публичный метод

Настраивает компонент для использования в кэшировании.

Это может быть одно из следующего:

  • идентификатор компонента приложения (например, cache)
  • массив конфигурации
  • объект yii\caching\Cache

Если передано null, это означает, что кэширование не включено.

публичный void setCache ( $cache )
$cache yii\caching\Cache|массив|строка|null

Объект кэша или идентификатор компонента приложения для кэша.

setValidateAuthNonce() публичный метод

публичный void setValidateAuthNonce ( $validateAuthNonce )
$validateAuthNonce булево

Использовать и проверять параметр авторизации 'nonce' в процессе аутентификации.

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-authclient-openidconnect.html

Spec-Zone.ru

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