@crvouga/mockingbird-service-recaptcha (英语)
本地模拟器。 真正的API合同. 部分 嘲笑鸟。 。 。 .
WIP reCAPTCHA v3 模拟器:浏览器 grecaptcha.ready编号 :execute确定性的单一用途标志,
和形而上学。 合同跟Google一样 核查
财务报告和审定财务报表 页:1 参考文献。 它不与谷歌联系.
安装
bun add @crvouga/mockingbird-service-recaptcha
使用量
import { createServer } from "@crvouga/mockingbird-service-recaptcha/server"
// Test setup: a local reCAPTCHA, and a token like the one grecaptcha.execute hands the browser.
const server = await createServer()
const issued = await fetch(`${server.url}/__admin/issue`, {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({ siteKey: "mock_site", action: "login", hostname: "app.example" }),
})
const { token } = await issued.json()
// Application code: the Siteverify call it makes to Google, sent to the emulator's URL.
const siteverifyUrl = `${server.url}/recaptcha/api/siteverify`
const verified = await fetch(siteverifyUrl, {
method: "POST",
body: new URLSearchParams({ secret: "mock_secret", response: token }),
})
const { success, score, action } = await verified.json()
await server.close()
mockingbird-recaptcha serve 单独运行同一服务器; createRuntime 从主窗口
条目是进程内表单.
覆盖浏览器脚本 URL /recaptcha/api.js?render=mock_site 和服务器
校验 URL 为 /recaptcha/api/siteverify 当地出身。 浏览器 shim
使用当地 /__admin/issue 请求获取令牌; 管理密钥保护的运行时间
要求由测试带提供标志。 脚本中没有嵌入管理密钥 .
Tokens绑定一个站点密钥,主机名,动作,分数,以及发行时间. 核查消耗量 一次,两分钟后失效 低分还是成功的卖家 校验:应用程序检查其分数阈值、预期动作和主机名.
PUT /__admin/settings 接受 sites, (中文(简体) ), score每起行动 scores,回应 action编号 :
hostname 覆盖, executeError, (中文(简体) ), expired, (中文(简体) ), replayed,以及 errorCodes。 。 。 .
GET /__admin/attempts 只返回时间/结果/错误元数据,没有符号或秘密.
共享管理员路由提供时钟控制,重置,时光线历史,命名空间,和断层.
命名空间选择用途 x-mockingbird-namespace 或者说 /__admin/ns/<name>/…。 。 。 .
自定义 adminPrefix 转移发行地点 和shim的本地目标.
预设 : human, (中文(简体) ), bot, (中文(简体) ), threshold_boundary, (中文(简体) ), expired, (中文(简体) ), replayed, (中文(简体) ), script_failure, (中文(简体) ),
rate_limited,以及 server_error。通过 count: 1 为一发失败。 通用断层
还支持确定性延迟和连接下降。 不存在网签或页签
在这个卖家表面.
API 密码
主要出口 RecaptchaAPI, (中文(简体) ), RecaptchaState, (中文(简体) ), createRuntime, (中文(简体) ),
RECAPTCHA_NAMESPACE, (中文(简体) ), RECAPTCHA_PRESETS, (中文(简体) ), DEFAULT_SETTINGS, (中文(简体) ), document, (中文(简体) ),
operationIds,以及 supportedOperationIds,加上公共类型.
这个 /server 进口 createServer, (中文(简体) ), serveTarget,以及 DEFAULT_PORT。 。 。 .
故意不模拟
- Google的风险模型,设备指纹,交互式v2挑战,或称企业API.
- 私人Geviti客户端执行:接受使用有文件记载的Google流量.
- 迎接成功的挑战。 冷平指令探测器只缺少响应
和2号出入口没有
RECAPTCHA_SECRET_KEY;绝不在固定装置中使用生产证书.