meraproject/vendor/amocrm/amocrm-api-library/examples/token_actions.php
keboss-m 5c21d25d45 Initial commit: Merakomis portal, Docker stack and user-reader API.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-24 11:04:05 +03:00

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