spoonwep/oauth2-qq

QQ OAuth 2.0 Client Provider for The PHP League OAuth2-Client

1.3.9 2022-04-01 09:12 UTC

This package is auto-updated.

Last update: 2024-04-29 03:40:47 UTC


README

QQ OAuth 2.0 support for the PHP League's OAuth 2.0 Client

Install

You can open a terminal and type in

composer require spoonwep/oauth2-qq

or require in a composer.json

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

then run:

composer update

Useage

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);
}

License

The MIT License (MIT). Please see License File for more information.