Класс Oauth
Стратегия аутентификации Oauth 1 для Cake\Network\Http\Client
Этот объект не обрабатывает получение маркеров доступа Oauth от поставщика услуг. Он обрабатывает только запросы к клиенту *после* получения маркеров доступа Oauth.
Обычно не создается напрямую, а используется Cake\Network\Http\Client, когда $options['auth']['type'] имеет значение 'oauth'
Краткое описание методов
- _buildAuth() protectedСтроит значение заголовка авторизации Oauth.
- _encode() protectedКодирует значение в URL в соответствии с правилами rfc3986
- _hmacSha1() protectedИспользование подписи HMAC-SHA1.
- _normalizedParams() protectedСортирует и нормализует данные запроса и oauthValues
- _normalizedUrl() protectedСтроит нормализованный URL
- _plaintext() protectedПодпись в открытом виде
- _rsaSha1() protectedИспользование подписи RSA-SHA1.
- authentication() publicДобавляет заголовки для авторизации Oauth.
- baseString() publicГенерирует базовую строку Oauth
Подробное описание методов
_buildAuth()source protected
_buildAuth( array $data )
Строит значение заголовка авторизации Oauth.
Параметры
- массив
$data - Значения oauth_* для построения
Возвращает
строка_encode()source protected
_encode( string $value )
Кодирует значение в URL в соответствии с правилами rfc3986
Параметры
- строка
$value - Значение для кодирования.
Возвращает
строка_hmacSha1()source protected
_hmacSha1( Cake\Network\Http\Request $request , array $credentials )
Использование подписи HMAC-SHA1.
Этот метод подходит для обычного HTTP или HTTPS.
Параметры
-
Cake\Network\Http\Request$request - Объект запроса.
- массив
$credentials - Данные аутентификации.
Возвращает
строка_normalizedParams()source protected
_normalizedParams( Cake\Network\Http\Request $request , array $oauthValues )
Сортирует и нормализует данные запроса и oauthValues
Раздел 9.1.1 спецификации Oauth.
- Кодирование URL ключей + значений.
- Сортировка ключей и значений по байтовым значениям.
Параметры
-
Cake\Network\Http\Request$request - Объект запроса.
- массив
$oauthValues - Значения Oauth.
Возвращает
строкаотсортированные и нормализованные значения
_normalizedUrl()source protected
_normalizedUrl( string $url )
Строит нормализованный URL
Раздел 9.1.2 спецификации Oauth
Параметры
- строка
$url - URL
Возвращает
строкаНормализованный URL
Выбрасывает
Cake\Core\Exception\ExceptionПри неверных URL
_plaintext()source protected
_plaintext( Cake\Network\Http\Request $request , array $credentials )
Подпись в открытом виде
Этот метод не подходит для обычного HTTP. Вы должны использовать PLAINTEXT только при работе с SSL-сервисами.
Параметры
-
Cake\Network\Http\Request$request - Объект запроса.
- массив
$credentials - Данные аутентификации.
Возвращает
строкаЗаголовок авторизации.
_rsaSha1()source protected
_rsaSha1( Cake\Network\Http\Request $request , array $credentials )
Использование подписи RSA-SHA1.
Этот метод подходит для обычного HTTP или HTTPS.
Параметры
-
Cake\Network\Http\Request$request - Объект запроса.
- массив
$credentials - Данные аутентификации.
Возвращает
строкаВыбрасывает
Исключение Runtimeauthentication()source public
authentication( Cake\Network\Http\Request $request , array $credentials )
Добавляет заголовки для авторизации Oauth.
Параметры
-
Cake\Network\Http\Request$request - Объект запроса.
- массив
$credentials - Данные аутентификации.
Выбрасывает
Cake\Core\Exception\ExceptionПри неверных типах подписи.
baseString()source public
baseString( Cake\Network\Http\Request $request , array $oauthValues )
Генерирует базовую строку Oauth
- Объединяются параметры строки запроса, данные запроса и параметры oauth_*.
- Значения сортируются по имени, а затем по значению.
- Значения запроса конкатенируются и кодируются в URL.
- Нормализуется URL запроса (без строки запроса).
- Конкатенируются метод HTTP, URL и параметры запроса и возвращаются.
Параметры
-
Cake\Network\Http\Request$request - Объект запроса.
- массив
$oauthValues - Значения Oauth.
Возвращает
строка
© 2005–2016 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
http://api.cakephp.org/3.2/class-Cake.Network.Http.Auth.Oauth.html