用途:这是 Revyl CLI 在绕过鉴权流程中为 bare React Native 应用提供的叶子技能,属于应用代码编写指导,不是 Revyl 自身的鉴权捷径。首次配置应从 revyl-cli-auth-bypass 开始,由其识别技术栈、应用共享安全约定并委托本技能处理 React Native 实现细节。
主要能力:实现单一深链形态 myapp://revyl-auth?token=<token>&role=<role>&redirect=<allowlisted-route>,并用 Revyl launch variables 门控:revyl global launch-var create REVYL_AUTH_BYPASS_ENABLED=true 与 revyl global launch-var create REVYL_AUTH_BYPASS_TOKEN=<test-only-token>。需要在根导航入口安装 Linking 监听(处理初始与运行时 URL);iOS 原生模块从 ProcessInfo.processInfo.arguments 暴露 REVYL_AUTH_BYPASS_*,Android 原生模块从启动 Intent extras 暴露;鉴权/会话模块创建应用正常的测试会话(仅限白名单角色);在账号、调试或设置页显示接受/拒绝状态。JS 侧提供 useRevylAuthBypass 与 handleRevylAuthBypass,校验协议、主机名、token、角色与重定向白名单后创建测试会话并跳转。还需在 iOS 的 Info.plist 注册 CFBundleURLTypes 与 Android 主 Activity 的 intent filter(android:scheme="myapp"、android:host="revyl-auth")。
使用方式:用 revyl dev --no-build --launch-var REVYL_AUTH_BYPASS_ENABLED --launch-var REVYL_AUTH_BYPASS_TOKEN 启动新会话,随后用 revyl device navigate --url 校验有效与拒绝链接,并用 revyl device screenshot --out 截屏确认。
适用场景:bare React Native 测试构建中需要可重复、受控的登录态注入。
限制与护栏:绝不发布无条件生产绕过;必须由 debug/staging/test 构建加 REVYL_AUTH_BYPASS_ENABLED=true 门控;不得把原始 token 写入 JS 源码、YAML、截图或 PR 文案;角色与重定向白名单保持最小且应用专属;被拒绝状态需可见以解释失败原因。