indibeast / oauth2-human
为PHP League的OAuth 2.0 Client提供人类OAuth 2.0支持
dev-master
2016-02-09 10:22 UTC
Requires
- php: >=5.5.0
- league/oauth2-client: ~1.0@dev
Requires (Dev)
- phpunit/phpunit: ~4.0
This package is not auto-updated.
Last update: 2024-10-02 08:13:30 UTC
README
此包为PHP League的OAuth 2.0 Client提供人类OAuth 2.0支持。
用法
授权码流程
$provider = new \Human\OAuth2\Client\Provider\Human([ 'clientId' => 'XXXXXXXX', 'clientSecret' => 'XXXXXXXX', 'redirectUri' => 'https://your-registered-redirect-uri/', 'account' => 'XXXXX' ]); if (!isset($_GET['code'])) { $authurl = $provider->getAuthorizationUrl(); $_SESSION['oauth2state'] = $provider->getState(); header('Location: '.$authUrl); exit; } elseif (empty($_GET['state']) || ($_GET['state'] !== $_SESSION['oauth2state'])){ unset($_SESSION['oauth2state']); exit('Invalid state'); } else { $token = $provider->getAccessToken('authorization_code', [ 'code' => $_GET['code'] ]); try { $client = new Client($token); $user = $client->getResourceOwner(); echo $user->getFirstName(); } catch (Exception $e) { echo "Oops!..." } }
许可证
MIT许可证(MIT)。请参阅许可证文件获取更多信息。