50 lines
1.8 KiB
PHP
50 lines
1.8 KiB
PHP
|
|
<?php
|
|||
|
|
|
|||
|
|
use AmoCRM\Exceptions\{DisposableTokenExpiredException,
|
|||
|
|
DisposableTokenInvalidDestinationException,
|
|||
|
|
DisposableTokenVerificationFailedException};
|
|||
|
|
|
|||
|
|
include_once __DIR__ . '/bootstrap.php';
|
|||
|
|
|
|||
|
|
$accessToken = getToken();
|
|||
|
|
|
|||
|
|
// Как пример, получим заголовки с реквеста
|
|||
|
|
// И получим нужный нам X-Auth-Token
|
|||
|
|
$token = $_SERVER['HTTP_X_AUTH_TOKEN'] ?? null;
|
|||
|
|
|
|||
|
|
if ($token === null) {
|
|||
|
|
echo 'X-Auth-Token not found';
|
|||
|
|
die;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
try {
|
|||
|
|
/**
|
|||
|
|
* Одноразовый токен для интеграций, для того чтобы его получить используйте
|
|||
|
|
* метод this.$authorizedAjax() в своей интеграции
|
|||
|
|
* Подробнее: @link https://www.amocrm.ru/developers/content/web_sdk/mechanics
|
|||
|
|
*
|
|||
|
|
* Данный токен должен передаваться в заголовках вместе с запросом на ваш удаленный сервер
|
|||
|
|
* X-Auth-Token: {disposable_token}
|
|||
|
|
* Время жизни токена: 30 минут
|
|||
|
|
*
|
|||
|
|
* Расшифруем пришедший токен и получим модель с информацией
|
|||
|
|
* Подробнее: @see DisposableTokenModel
|
|||
|
|
*/
|
|||
|
|
$disposableTokenModel = $apiClient->getOAuthClient()
|
|||
|
|
->parseDisposableToken($token);
|
|||
|
|
|
|||
|
|
var_dump($disposableTokenModel->toArray());
|
|||
|
|
} catch (DisposableTokenExpiredException $e) {
|
|||
|
|
// Время жизни токена истекло
|
|||
|
|
printError($e);
|
|||
|
|
die;
|
|||
|
|
} catch (DisposableTokenInvalidDestinationException $e) {
|
|||
|
|
// Не прошёл проверку на адресата токена
|
|||
|
|
printError($e);
|
|||
|
|
die;
|
|||
|
|
} catch (DisposableTokenVerificationFailedException $e) {
|
|||
|
|
// Токен не прошел проверку подписи
|
|||
|
|
printError($e);
|
|||
|
|
die;
|
|||
|
|
}
|