spoonwep/oauth2-qq

PHP League OAuth2-Client 的 QQ OAuth 2.0 客户端提供者

1.3.9 2022-04-01 09:12 UTC

This package is auto-updated.

Last update: 2024-08-29 04:36:55 UTC


README

为 PHP League 的 OAuth 2.0 Client 提供的 QQ OAuth 2.0 支持

安装

您可以在终端中输入

composer require spoonwep/oauth2-qq

或在 composer.json 中 require

"require": {
	"spoonwep/oauth2-qq": "~1.3"
}

然后运行

composer update

用法

session_start();
$provider = new \Spoonwep\OAuth2\Client\Provider\Qq([
	'clientId' => '{QQ APP ID}',
	'clientSecret' => '{QQ APP KEY}',
	'redirectUri' => 'http://example.com/callback-url',
]);
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']
	]);

	//fetch userinfo returned by serverside
    $user = $provider->getResourceOwner($token);
    $user = $user->toArray();
    print_r($user);

    //get user's unique openid from serverside
    $openid = $provider->openid;
    printf('User\'s openid:%s', $openid);
}

许可证

MIT 许可证 (MIT)。请参阅许可证文件以获取更多信息。