Що таке підпис безпеки?
Підпис безпеки — це унікальний криптографічний ключ, який використовується для перевірки автентичності та цілісності запитів, що надсилаються на сервер або сервіс. Він забезпечує безпечну та захищену від несанкціонованого доступу або втручання комунікацію між вашим віджетом і системою HelpCrunch.
Підпис безпеки зазвичай генеруеться за допомогою комбінації секретного ключа організації та даних користувача. Такий підхід забезпечує унікальність підпису для кожного запиту, що ускладнює його відтворення або повторне використання зловмисниками.
Найкращі практики поводження із захисним підписом
- Не розкривайте ключ публічно
Уникайте публікації ключа у відкритих репозиторіях, скриншотах чи документації. - Не використовуйте ключ на клієнтській стороні
Усі операції, що потребують використання ключа, виконуйте на серверній стороні.
Перед тем как включить підпис безпеки
- Налаштуйте Режим аутентифікації користувача
- Не використовуйте онлайн чи офлайн-форми
Як використовувати підпис безпеки
⚠️ Перед тим як почати, будь ласка, зверніть увагу, що всі чати, створені без підпису безпеки або неправильно підписані, перестануть працювати після активації підпису безпеки. Переконайтеся, що всі дані користувачів правильно підписані, щоб уникнути збоїв у роботі чату.
Ви повністю відповідаєте за будь-які збої, викликані неправильною конфігурацією цієї функції.
Ви повністю відповідаєте за будь-які збої, викликані неправильною конфігурацією цієї функції.
- Увімкнення підпису безпеки
Після того, як ви увімкнете підпис безпеки в Налаштування→Для розробників→Безпека, ви отримаєте секретний ключ вашої організації. - Згенерувати підпис
● Візьміть дані користувача з об'єкта user.
● Перетворіть дані у рядок JSON.
● Додайте секретний ключ організації до рядка JSON.
● Створіть MD5 хеш об'єднаного рядка. - Надішліть дані до віджета
● Надішліть дані користувача у віджет HelpCrunch (див. приклад).
● Додайте згенерований MD5-підпис із кроку 2 до свого запиту. - Перевірте вашу конфігурацію
Щоб переконатися, що все працює правильно, спробуйте розпочати новий чат як анонімний відвідувач та як зареєстрований користувач з боку клієнта. Якщо повідомлення надсилаються успішно і в консолі браузера немає помилок, то, ймовірно, все налаштовано правильно.
⚠️ Увага: Переконайтеся, що дані користувача хешуються в точному порядку, в якому вони надсилаються на сервер HelpCrunch. Будь-яка невідповідність у порядку призведе до помилки `403 Forbidden`.
Приклад PHP для методів init або updateUser з підписом безпеки:
<?php
$user = [
'email' => '[email protected]',
'name' => 'The Name',
'user_id' => '12345',
'phone' => '+49123221312',
];
$signature = md5(json_encode($user) . 'your organization secret');
?>
HelpCrunch('init', 'your organization domain', {
appId: 'c2c067be-6678-4d0a-8c1c-4f9fad8e4b91',
user: {
email: '<?= $user['email'] ?>',
name: '<?= $user['name'] ?>',
user_id: '<?= $user['user_id'] ?>',
phone: '<?= $user['phone'] ?>'
},
signature: '<?= $signature ?>'
});