SuperAPI AI 工具集

revyl-cli-auth-bypass-expo

测试与质量

查看项目

更新于 10-16 07:59

技能介绍

用途:当上层技能 revyl-cli-auth-bypass 判定应用栈为 Expo 或 Expo Router 时,使用本叶子技能,在应用代码中加入仅测试用的认证绕过深链处理,并配合 Revyl 启动变量控制开关与令牌。

主要能力:采用固定的应用深链形状 myapp://revyl-auth?token=<token>&role=<role>&redirect=<allowlisted-route>;通过 Revyl 全局启动变量 REVYL_AUTH_BYPASS_ENABLED 与 REVYL_AUTH_BYPASS_TOKEN 进行门控;在根布局处理初始 URL 与运行时 Linking 事件;为 Expo Router 增加 app/revyl-auth.tsx 兜底路由;对 token、role、redirect 做白名单校验后创建测试会话并跳转到允许的目标;在账户、调试或设置界面显式展示接受与拒绝状态;提供有效与各类失败用例的验证流程。

使用方式:先创建启动变量(如 revyl global launch-var create REVYL_AUTH_BYPASS_ENABLED=true 与 revyl global launch-var create REVYL_AUTH_BYPASS_TOKEN=<test-only-token>),再以 --launch-var 附带启动变量开启 dev 会话(revyl dev --no-build --launch-var REVYL_AUTH_BYPASS_ENABLED --launch-var REVYL_AUTH_BYPASS_TOKEN),随后在独立 shell 打开认证链接(revyl device navigate --url "myapp://revyl-auth?token=$REVYL_AUTH_BYPASS_TOKEN&role=buyer&redirect=%2Fcheckout"),可用 revyl device screenshot 截图确认。若会话是旧会话,需停止并用启动变量重新开启。可按需安装技能:revyl skill install --name revyl-cli-auth-bypass --force、revyl-cli-dev-loop、revyl-cli-auth-bypass-expo。

适用场景:在 Expo/Expo Router 测试构建、模拟器、调试或 staging 环境中,为代理或自动化测试创建可复现的已登录状态,同时避免影响生产构建。

限制:仅限测试用途,不得在生产中启用无条件绕过;不要提交真实令牌,应使用 Revyl 启动变量、全局变量、CI 密钥或 staging 后端换取令牌;受管 Expo 应用可能无法在 JavaScript 中自动收到原生启动值,需要原生启动配置桥接或由 staging 后端校验令牌;演示用回退令牌仅适用于示例应用;应使用白名单而非任意路由名或角色字符串;需在修改状态前完成校验,并保持与常规认证代码隔离。