Разделите доступы
Для каждого клиента храните отдельную связь с его аккаунтом и выданными правами. Партнёрское подключение и доступ одного пользователя могут иметь разные полномочия. Не используйте один общий административный ключ для всех заказчиков без явного основания в архитектуре.
Храните секреты на сервере
Токены и ключи не должны попадать в HTML, URL публичных страниц и клиентские журналы. Ограничьте доступ к хранилищу и предусмотрите замену скомпрометированного ключа. В диагностике показывайте идентификатор подключения, а не полное значение секрета.
Проверьте отзыв
Смоделируйте окончание срока доступа и отключение интеграции клиентом. Ошибка авторизации должна останавливать соответствующие операции и давать администратору понятное действие. Бесконечное повторение запроса с недействительным ключом не восстанавливает доступ.
Пример проверки
После отзыва доступа события одного клиента перестают обрабатываться, но подключения других компаний продолжают работать.
Перед следующим шагом
- Ключи не видны браузеру
- Права ограничены задачей
- Проверены отзыв и обновление доступа