Содержание

OAuth2

Легкий клиент OAuth2

Пространство имен: Web

Расположение файла:lib/web/oauth2.php

Методы

uri

Вернуть URI аутентификации OAuth2

string uri ( string $endpoint = NULL, bool $query = TRUE )

Полезно для создания URI аутентификации для отображения конечному пользователю. Например:

$fw = Base::instance();
$Oauth = new \Web\OAuth2();
$Oauth->set('client_id', $fw->get('google.client_id'));
$Oauth->set('scope', 'profile email');
$Oauth->set('response_type', 'code');
$Oauth->set('access_type', 'online');
$Oauth->set('approval_prompt', 'auto');
$Oauth->set('redirect_uri', $fw->SCHEME.'://' . $_SERVER['HTTP_HOST'] . '/oauthRedirect');
echo $Oauth->uri('https://accounts.google.com/o/oauth2/auth', true);

request

Отправить запрос в конечную точку API / токена

string uri ( string $uri, string $method, string $token = NULL )

Это отправляет запрос в указанную конечную точку. $token - токен доступа, который нужно включить в заголовок Authorization. Ниже приведен пример запроса.

$fw = Base::instance();
$Oauth = new \Web\OAuth2();
$Oauth->set('client_id', $fw->get('google.client_id'));
$Oauth->set('client_secret', $fw->get('google.client_secret'));
$Oauth->set('scope', 'profile email');
$Oauth->set('access_type', 'online');
$Oauth->set('grant_type', 'authorization_code');
$Oauth->set('code', $auth_code);
$Oauth->set('approval_prompt', 'auto');
$Oauth->set('redirect_uri', $fw->SCHEME.'://' . $_SERVER['HTTP_HOST'] . '/oauthRedirect');
$token = $Oauth->request('https://oauth2.googleapis.com/token', 'POST');
 
// now you can make requests with that token
$Oauth_User_Info = new \Web\OAuth2();
echo $Oauth_User_Info->request('https://www.googleapis.com/oauth2/v2/userinfo', 'GET', $token['access_token']);
Печать/экспорт