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']);