60 lines
1.6 KiB
PHP
60 lines
1.6 KiB
PHP
<?php
|
|
|
|
use League\OAuth2\Client\Token\AccessToken;
|
|
|
|
define('TOKEN_FILE', DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'token_info.json');
|
|
|
|
/**
|
|
* @param array $accessToken
|
|
*/
|
|
function saveToken($accessToken)
|
|
{
|
|
if (
|
|
isset($accessToken)
|
|
&& isset($accessToken['accessToken'])
|
|
&& isset($accessToken['refreshToken'])
|
|
&& isset($accessToken['expires'])
|
|
&& isset($accessToken['baseDomain'])
|
|
) {
|
|
$data = [
|
|
'accessToken' => $accessToken['accessToken'],
|
|
'expires' => $accessToken['expires'],
|
|
'refreshToken' => $accessToken['refreshToken'],
|
|
'baseDomain' => $accessToken['baseDomain'],
|
|
];
|
|
|
|
file_put_contents(TOKEN_FILE, json_encode($data));
|
|
} else {
|
|
exit('Invalid access token ' . var_export($accessToken, true));
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @return AccessToken
|
|
*/
|
|
function getToken()
|
|
{
|
|
if (!file_exists(TOKEN_FILE)) {
|
|
exit('Access token file not found');
|
|
}
|
|
|
|
$accessToken = json_decode(file_get_contents(TOKEN_FILE), true);
|
|
|
|
if (
|
|
isset($accessToken)
|
|
&& isset($accessToken['accessToken'])
|
|
&& isset($accessToken['refreshToken'])
|
|
&& isset($accessToken['expires'])
|
|
&& isset($accessToken['baseDomain'])
|
|
) {
|
|
return new AccessToken([
|
|
'access_token' => $accessToken['accessToken'],
|
|
'refresh_token' => $accessToken['refreshToken'],
|
|
'expires' => $accessToken['expires'],
|
|
'baseDomain' => $accessToken['baseDomain'],
|
|
]);
|
|
} else {
|
|
exit('Invalid access token ' . var_export($accessToken, true));
|
|
}
|
|
}
|