$provider
=
new
League\OAuth2\Client\Provider\<ProviderName>(
array
(
'clientId'
=>
'XXXXXXXX'
,
'clientSecret'
=>
'XXXXXXXX'
,
'redirectUri'
=>
'https://your-registered-redirect-uri/'
,
'scopes'
=>
array
(
'email'
,
'...'
,
'...'
),
));
if
( ! isset(
$_GET
[
'code'
])) {
header(
'Location: '
.
$provider
->getAuthorizationUrl());
exit
;
}
else
{
$token
=
$provider
->getAccessToken(
'authorization_code'
, [
'code'
=>
$_GET
[
'code'
]
]);
$token
=
$provider
->getAccessToken(
'authorization_code'
, [
'code'
=>
$_GET
[
'code'
],
'grant_type'
=>
'authorization_code'
]);
try
{
$userDetails
=
$provider
->getUserDetails(
$token
);
printf(
'Hello %s!'
,
$userDetails
->firstName);
}
catch
(Exception
$e
) {
exit
(
'Oh dear...'
);
}
echo
$token
->accessToken;
echo
$token
->refreshToken;
echo
$token
->expires;
}
请发表评论