Аутентифицированные аудиты
Create a reusable Cookie, Bearer, or custom-header test session and verify protected coverage safely.
Повторное использование защищенного сеанса тестирования
A test session is a named authentication credential saved for one verified domain. Full and customized security audits can reuse it, so you do not need to recover or paste the secret for every run. lightweight security audits always remain public.
VICE шифрует сохранённые секреты. Их используют только процессы проверки и аудита. Ваш пароль никогда не нужен.
Сохраненные сеансы остаются в подтвержденном домене, и их можно искать, редактировать, вращать или отменять.
- Создайте до пяти сеансов для каждого подтвержденного домена.
- Выберите срок действия от одного часа до тридцати дней.
- Учётные данные остаются на подтверждённом сайте или в конкретном проекте Supabase, настроенном для его сессии.
Выберите метод аутентификации
Используйте тот же метод, который уже используется в успешном запросе на вход. Откройте приложение с помощью специальной тестовой учетной записи, затем проверьте защищенный запрос в инструментах разработчика браузера перед созданием сеанса.
Проверьте успешный запрос того же источника и скопируйте только значение аутентификации, необходимое для выбранного метода.
- Аутентификация Supabase
- Токен Bearer: запрос содержит заголовок Authorization, значение которого начинается с Bearer.
- Заголовок Cookie: браузер проверяет подлинность запроса с помощью одного или нескольких основных файлов cookie.
- Пользовательский заголовок: приложение использует другой заголовок, например x-api-key или x-auth-token.
Получите токен Bearer.
Токен Bearer — это секретный токен доступа: любая система, имеющая действительный токен, может предоставить его серверу. Часто это JWT, но не каждый токен Bearer использует формат JWT. Считайте все значение секретом, эквивалентным паролю.
Войдите в систему с помощью выделенной тестовой учетной записи, откройте Developer Tools > Сеть, перезагрузите защищенную страницу и выберите запрос того же источника, который будет успешным только при входе в систему. В разделе «Заголовки» > Request Headers найдите Authorization: Bearer, за которым следует токен.
- VICE принимает пользовательский токен с префиксом Bearer или без него.
- Если заголовок Authorization не отображается, возможно, приложение выполняет аутентификацию с помощью файлов cookie или пользовательского заголовка.
Аутентификация Supabase
Если приложение использует вход через Supabase, выберите Supabase Auth. Одного токена Bearer может быть недостаточно для восстановления сессии браузера.
Войдите с тестовой учётной записью. В инструментах разработчика браузера откройте Application > Local Storage или Session Storage. В разделе вашего сайта скопируйте JSON-значение sb-<project-ref>-auth-token в необязательное поле импорта сессии.
Используйте публичный или старый ключ anon. Ключи secret и service-role отклоняются.
- Токен доступа идентифицирует учётную запись, а токен обновления продлевает её сессию. Копируйте оба из одного входа, а не только названия полей.
- VICE заполняет оба токена и определяет URL проекта. Добавьте публичный ключ из настроек Supabase. Используйте Ввести токены вручную, только если не можете импортировать сессию.
- Используйте закрытую страницу вашего сайта, а не API Supabase. Выход или отзыв доступа может аннулировать сессию до окончания её срока в VICE.
Получить собственный заголовок аутентификации
Некоторые приложения аутентифицируют запросы API с помощью заголовка, специфичного для продукта, вместо Authorization или Cookie. Проверьте успешный защищенный запрос в разделе «Сеть» > «Заголовки» > Request Headers и определите стабильный заголовок, содержащий учетные данные.
- Введите имя заголовка отдельно, например x-api-key или x-auth-token.
- Вставьте в секретное поле только необработанное значение заголовка без имени заголовка или двоеточия.
- Не используйте заголовки маршрутизации или транспорта, такие как Host, Origin, Referer, Connection, Content-Length, Transfer-Encoding или Proxy-Authorization.
Страница после входа
Вы можете оставить это поле пустым. VICE автоматически ищет личную страницу, переходя по ссылкам и перенаправлениям на вашем веб-сайте, а затем проверяет ее как с тестовым сеансом, так и без него. Успешно найденная страница запоминается, но перед каждой проверкой доступ проверяется заново.
Если VICE не может найти страницу, подтверждающую частный доступ, выберите «Выбрать страницу вручную» в результатах проверки или откройте «Дополнительные настройки» и заполните поле «Страница доступна после входа в систему». Существующие сохраненные адреса страниц сохраняются; очистите поле, чтобы переключиться на автоматическое обнаружение.
Это существующая страница вашего приложения, требующая входа в систему, например область учетной записи или панель управления. VICE открывает одну и ту же страницу с вашим тестовым сеансом и без него, чтобы проверить, действительно ли он предоставляет доступ к частной области.
Войдите в свое приложение с помощью тестовой учетной записи, откройте личную страницу, к которой может получить доступ эта учетная запись, и скопируйте ее окончательный адрес из адресной строки браузера. Вставьте этот адрес на страницу, доступную после входа в систему. Например, https://app.example.com/dashboard или просто /dashboard. Замените этот пример реальным адресом страницы и оставьте те же прописные и строчные буквы.
Откройте тот же адрес в окне приватного просмотра без входа в систему. Он должен попросить вас войти в систему или запретить доступ к частной области. Если на нем отображается тот же личный контент, выберите другую страницу. Оставьте исходное окно тестовой учетной записи вошедшим в систему: выход из системы может сделать скопированный сеанс недействительным.
Оставьте страницу пустой для автоматического обнаружения или введите приватную страницу в разделе «Дополнительные настройки».
- Используйте именно тот веб-сайт, который сохранен в качестве домена в VICE. Для тестовой среды используйте ее адрес, а не рабочий веб-сайт. При использовании аутентификации Supabase используйте страницу своего приложения, а не панель управления Supabase или URL-адрес API.
- Не используйте страницу входа, общедоступную домашнюю страницу, логин callback или ссылку для одноразового входа. Не включайте в адрес токен или другой секрет.
- Выберите страницу, которую безопасно открывать: просматривая ее, нельзя ничего создавать, удалять, покупать или отправлять.
- Вам не нужно создавать специальную страницу или менять код. Эта страница является проверкой доступа и точкой входа для обнаружения, а не единственной страницей, которую может проверить аудит.
- Текст подтверждения в разделе «Дополнительные настройки» не является обязательным. При необходимости введите стабильный ярлык, который будет виден только после входа в систему, например «Настройки учетной записи». Не добавляйте новый текст в свое приложение и не используйте имя, адрес электронной почты или изменяющееся значение. Чтобы удалить ранее сохраненный текст подтверждения, установите флажок его удаления; если оставить поле пустым, оно сохранится.
- Действительный токен Supabase не гарантирует доступ к вашему приложению: тестовая учетная запись может по-прежнему не иметь роли или доступа к рабочей области. Неудачная проверка страницы не обязательно означает, что срок действия токена истек.
Сохранить и проверить доступ
Сохранить и проверить доступ сохраняет сессию и сравнивает страницу с ней и без неё. Эта бесплатная проверка может ожидать свободный процесс. При неудаче сессия остаётся сохранённой и доступной для редактирования.
Подтверждённый доступ означает различие на этой странице, а не полное покрытие приложения. Результат объясняет неудачу: возврат ко входу, отсутствие текста подтверждения, публичная страница или недоступное соединение.
Эта проверка не расходует кредиты.
Выберите сеанс для аудита
На странице «Обзор домена» или «Аудит» выберите «Начать аудит». Выберите «Полный» или «Пользовательский», переключите доступ приложения на «Тестовый сеанс» и выберите активный именованный сеанс из раскрывающегося списка.
Выберите сохраненный сеанс только для полного или индивидуального покрытия, требующего защищенных маршрутов.
- облегченные проверки безопасности не используют сеанс тестирования.
- При аудите сохраняется выбранная ссылка на сеанс вместо копирования секрета в историю аудита.
- Каждый аудит повторно проверяет доступ. Если он не подтверждён, проверки безопасности прекращаются, а зарезервированная квота или кредит возвращается. Для аудита без сессии выберите Публичная поверхность.
Поворот или отзыв сеанса
Используйте значок карандаша в разделе «Настройки домена» > «Тестовые сеансы», чтобы переименовать сеанс, изменить его защищенный путь или маркер, повернуть учетные данные или отозвать их.
- Оставьте секрет нового сеанса пустым, чтобы сохранить зашифрованные учетные данные и текущий срок их действия.
- Укажите новый секрет для ротации учетных данных и применения нового срока действия.
- Удалить сеанс открывает диалоговое окно подтверждения и немедленно отменяет сеанс.
Продолжить с VICE
См. рабочий процесс управляемого аудита, описанный в этом руководстве.