Безопасность и секреты
Эти правила обязательны и не обсуждаются. Их нарушение может привести к краже партнёрского токена и финансовым потерям.
Главные правила#
-
Секреты никогда не попадают в git. Ни в код, ни в README, ни в примеры, ни в JSON-шаблоны, ни в комментарии. В репозитории допустим только файл
.env.exampleс пустыми значениями. -
Токен живёт только в
.env.local(файл в списке.gitignoreи в git не попадает):cp .env.example .env.local # затем откройте .env.local и вставьте токен после «=» -
Браузер никогда не видит токен. Все запросы к 1Click идут через серверный прокси (
/api/proxy/1click/...). Прокси сам читаетONECLICK_JWTиз окружения сервера и добавляет заголовокX-API-Key. В клиентском коде, в шаблонах и в сохранённых запросах токена нет и быть не может. -
В шаблонах — только плейсхолдеры:
YOUR_JWT,YOUR_NEAR_ACCOUNT.near,DEPOSIT_ADDRESS_FROM_QUOTE. Реальные значения не сохраняются. -
Логи без секретов. Прокси не пишет в логи ни заголовки, ни тела запросов; строки, похожие на JWT, автоматически заменяются на
[REDACTED_JWT].
Если токен утёк#
- Немедленно зайдите в Partner Dashboard и перевыпустите (отзовите) токен.
- Обновите
ONECLICK_JWTв.env.localна всех машинах, где запускается портал. - Если токен попал в git — перевыпуска недостаточно, историю коммитов тоже нужно вычистить (обратитесь к разработчику).
Почему это важно#
Партнёрский JWT снимает платформенную комиссию 0.2% и привязан к вашему аккаунту дистрибьютора. Злоумышленник с вашим токеном может выполнять запросы от вашего имени. Кроме того, у 1Click нет тестовой сети — любые реальные свопы происходят с настоящими деньгами, поэтому проверяйте сценарии на маленьких суммах.
Проверка перед каждым коммитом#
git diff— просмотрите изменения глазами: нет ли строк, похожих на токены (eyJ...), приватных ключей, seed-фраз, реальных адресов с балансом.- Убедитесь, что
.env.localне отображается вgit status.