Короткий ответ

SSO/API tokens, context actions, permissions, audit logs, deployment and corporate policies. Разбираем практический порядок работ, риски, стоимость и то, как принять результат без новых проблем.

Ниже — конкретные проверки, команды, таблицы и контроль результата. Выполняйте изменения только после резервной копии, если действие затрагивает рабочую систему.

Где должна жить логика

СлойЧто размещать
Content script
страницы
Service workerсообщения, auth flow, network orchestration
Backendсекреты, бизнес-правила, общая БД
CRM APIофициальный интерфейс системы
Popupдействия пользователя, не секреты

Не храните долгоживущий секрет CRM в content script

Content script работает рядом с чужой страницей. Для серьёзной корпоративной интеграции лучше использовать короткоживущую авторизацию и backend, который хранит серверные секреты.

Проверка роли перед действием на backend

PHP
// Псевдокод backend
$user = requireAuthenticatedUser();

if (!$user->can('crm.write')) {
    http_response_code(403);
    exit;
}

validate($payload);
crmClient()->updateContact($payload);

Приёмочные сценарии

СценарийПроверка
Пользователь без роли403 server-side
Token истёкповторная авторизация
CRM недоступнадействие не теряется
Два табасостояние корректно
одлокальные токены очищены

Как проверить результат

После изменений повторите исходный сценарий, зафиксируйте результат и убедитесь, что соседние функции работают так же, как до правки. Если проблема проявляется не всегда, проведите несколько повторов в одинаковых условиях и сохраните диагностические данные.

Связанные материалы