经过验证的审核
创建可重用的 Cookie、Bearer 或自定义标头测试会话并安全地验证受保护的覆盖范围。
重用受保护的测试会话
测试会话是为一个经过验证的域保存的命名身份验证凭据。完整和定制的安全审核可以重复使用它,因此您无需为每次运行恢复或粘贴密钥。轻量级安全审计始终保持公开状态。
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。在你的网站下,将sb-<project-ref>-auth-token的JSON值复制到可选的会话导入字段。
请使用公开密钥或旧版anon密钥。secret和service-role密钥会被拒绝。
- 访问令牌用于识别账号,刷新令牌用于续期会话。请从同一次登录中复制这两个值,不要只复制字段名称。
- VICE 会填入两个令牌并检测项目 URL。请从 Supabase 设置中添加可发布密钥。只有无法导入会话时才使用手动输入令牌。
- 请使用自己网站的私有页面,而不是Supabase API。退出登录或撤销访问权限可能会在VICE到期时间之前使会话失效。
获取自定义身份验证标头
某些应用程序使用特定于产品的标头而不是 Authorization 或 Cookie 来验证 API 请求。在网络 > 标头 > 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 Auth,使用您的应用程序页面,而不是 Supabase 仪表板或 API URL。
- 请勿使用登录页面、公共主页、登录 callback 或一次性登录链接。请勿在地址中包含令牌或其他秘密。
- 选择可以安全打开的页面:查看该页面不得创建、删除、购买或发送任何内容。
- 您不需要创建特殊页面或更改代码。此页面是访问检查和发现的入口点,而不是审核可以检查的唯一页面。
- 高级设置下的确认文本是可选的。如果需要,请输入仅在登录后可见的稳定标签,例如帐户设置。请勿向您的应用程序添加新文本或使用姓名、电子邮件地址或更改值。要删除以前保存的确认文本,请选中其删除复选框;将该字段留空可保留该字段。
- 有效的 Supabase 令牌并不能保证对您的应用程序的访问:测试帐户可能仍然缺乏角色或对工作区的访问权限。页面检查不成功并不一定意味着令牌已过期。
保存并检查访问
保存并检查访问会先保存会话,再比较使用和不使用会话时的页面。这项免费检查可能需要等待空闲工作进程。检查失败后,会话仍会保存并可编辑。
访问已验证表示确认了此页面的差异,并不代表完整覆盖整个应用。结果会说明失败原因:返回登录页、缺少确认文本、公开页面或无法连接。
此连接检查不消耗审计额度。
选择要审核的会话
从域概述或审核页面中,选择开始审核。选择完全或自定义,将应用程序访问权限切换到测试会话,然后从下拉列表中选择活动的命名会话。
仅针对需要受保护路线的完整或自定义覆盖范围选择已保存的会话。
- 轻量级安全审核不使用测试会话。
- 审核会存储选定的会话引用,而不是将机密复制到审核历史记录中。
- 每次审计都会重新检查访问。如果无法验证,安全检查会停止,并退还预留的配额或点数。要在不使用会话的情况下审计,请选择公开区域。
轮换或撤销会话
使用“域设置”>“测试会话”下的铅笔图标来重命名会话、调整其受保护路径或标记、旋转凭据或撤销它。
- 将新会话密钥留空以保留加密凭据及其当前过期时间。
- 提供新的密钥以轮换凭证并应用新的过期时间。
- 删除会话将打开一个确认对话框并立即撤销会话。
继续 VICE
请参阅本指南背后的托管审核工作流程。