[{"data":1,"prerenderedAt":304},["ShallowReactive",2],{"navigation_docs_zh":3,"-zh-storefront-challenge-and-turnstile":208,"-zh-storefront-challenge-and-turnstile-surround":299},[4,22,40,50,64,82,180,194],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":21},"快速开始","i-lucide-rocket","\u002Fzh\u002Fgetting-started","zh\u002F1.getting-started",[10,13,17],{"title":5,"path":11,"stem":12},"\u002Fzh\u002Fgetting-started\u002Fquick-start","zh\u002F1.getting-started\u002F1.quick-start",{"title":14,"path":15,"stem":16},"信任模型","\u002Fzh\u002Fgetting-started\u002Ftrust-model","zh\u002F1.getting-started\u002F2.trust-model",{"title":18,"path":19,"stem":20},"大客户端到端接入指南","\u002Fzh\u002Fgetting-started\u002Fenterprise-integration","zh\u002F1.getting-started\u002F3.enterprise-integration",false,{"title":23,"icon":24,"path":25,"stem":26,"children":27,"page":21},"自研 Storefront","i-lucide-store","\u002Fzh\u002Fstorefront","zh\u002F2.storefront",[28,32,36],{"title":29,"path":30,"stem":31},"第三方 Storefront","\u002Fzh\u002Fstorefront\u002Fthird-party-storefront","zh\u002F2.storefront\u002F1.third-party-storefront",{"title":33,"path":34,"stem":35},"Turnstile 的信任边界","\u002Fzh\u002Fstorefront\u002Fchallenge-and-turnstile","zh\u002F2.storefront\u002F2.challenge-and-turnstile",{"title":37,"path":38,"stem":39},"第三方店铺前端公共 API","\u002Fzh\u002Fstorefront\u002Fpublic-api","zh\u002F2.storefront\u002F3.public-api",{"title":41,"icon":42,"path":43,"stem":44,"children":45,"page":21},"OAuth 与身份","i-lucide-key-round","\u002Fzh\u002Foauth","zh\u002F3.oauth",[46],{"title":47,"path":48,"stem":49},"第三方账号授权安全边界","\u002Fzh\u002Foauth\u002Fauthorization-code-pkce","zh\u002F3.oauth\u002F1.authorization-code-pkce",{"title":51,"icon":52,"path":53,"stem":54,"children":55,"page":21},"开发者平台","i-lucide-blocks","\u002Fzh\u002Fplatform","zh\u002F4.platform",[56,60],{"title":57,"path":58,"stem":59},"应用、版本、安装与 Scope","\u002Fzh\u002Fplatform\u002Fapps-installations-scopes","zh\u002F4.platform\u002F1.apps-installations-scopes",{"title":61,"path":62,"stem":63},"Origin、Redirect、反向代理与环境","\u002Fzh\u002Fplatform\u002Fsecurity-and-environments","zh\u002F4.platform\u002F2.security-and-environments",{"title":65,"icon":66,"path":67,"stem":68,"children":69,"page":21},"运行时扩展","i-lucide-workflow","\u002Fzh\u002Fruntime","zh\u002F5.runtime",[70,74,78],{"title":71,"path":72,"stem":73},"安装级 Webhook","\u002Fzh\u002Fruntime\u002Fwebhooks","zh\u002F5.runtime\u002F1.webhooks",{"title":75,"path":76,"stem":77},"库存同步","\u002Fzh\u002Fruntime\u002Finventory-sync","zh\u002F5.runtime\u002F2.inventory-sync",{"title":79,"path":80,"stem":81},"自动发货 Provider","\u002Fzh\u002Fruntime\u002Fauto-fulfillment","zh\u002F5.runtime\u002F3.auto-fulfillment",{"title":83,"icon":84,"path":85,"stem":86,"children":87,"page":21},"API 参考","i-lucide-braces","\u002Fzh\u002Freference","zh\u002F6.reference",[88,91,95],{"title":83,"path":89,"stem":90},"\u002Fzh\u002Freference\u002Fapi","zh\u002F6.reference\u002F1.api",{"title":92,"path":93,"stem":94},"错误、幂等与限流","\u002Fzh\u002Freference\u002Ferrors-and-limits","zh\u002F6.reference\u002F2.errors-and-limits",{"title":96,"path":97,"stem":98,"children":99,"page":21},"Endpoint 目录","\u002Fzh\u002Freference\u002Foperations","zh\u002F6.reference\u002F3.operations",[100,104,108,112,116,120,124,128,132,136,140,144,148,152,156,160,164,168,172,176],{"title":101,"path":102,"stem":103},"读取公开运行配置","\u002Fzh\u002Freference\u002Foperations\u002Fget-public-runtime-config","zh\u002F6.reference\u002F3.operations\u002F01.get-public-runtime-config",{"title":105,"path":106,"stem":107},"读取公开站点启动配置","\u002Fzh\u002Freference\u002Foperations\u002Fget-public-bootstrap","zh\u002F6.reference\u002F3.operations\u002F02.get-public-bootstrap",{"title":109,"path":110,"stem":111},"读取公开联系渠道","\u002Fzh\u002Freference\u002Foperations\u002Fget-public-contact","zh\u002F6.reference\u002F3.operations\u002F03.get-public-contact",{"title":113,"path":114,"stem":115},"按语言读取当前已发布法律正文","\u002Fzh\u002Freference\u002Foperations\u002Flist-public-legal-documents","zh\u002F6.reference\u002F3.operations\u002F04.list-public-legal-documents",{"title":117,"path":118,"stem":119},"读取店铺已发布装修","\u002Fzh\u002Freference\u002Foperations\u002Fget-public-storefront-decoration","zh\u002F6.reference\u002F3.operations\u002F05.get-public-storefront-decoration",{"title":121,"path":122,"stem":123},"读取店铺公开安全配置","\u002Fzh\u002Freference\u002Foperations\u002Fget-public-store-security-config","zh\u002F6.reference\u002F3.operations\u002F06.get-public-store-security-config",{"title":125,"path":126,"stem":127},"搜索可公开销售商品","\u002Fzh\u002Freference\u002Foperations\u002Fsearch-public-products","zh\u002F6.reference\u002F3.operations\u002F07.search-public-products",{"title":129,"path":130,"stem":131},"读取公开分类","\u002Fzh\u002Freference\u002Foperations\u002Flist-public-categories","zh\u002F6.reference\u002F3.operations\u002F08.list-public-categories",{"title":133,"path":134,"stem":135},"读取安装级凭据绑定身份","\u002Fzh\u002Freference\u002Foperations\u002Fget-installation-credential-identity","zh\u002F6.reference\u002F3.operations\u002F09.get-installation-credential-identity",{"title":137,"path":138,"stem":139},"读取安装级凭据就绪与阻塞事实","\u002Fzh\u002Freference\u002Foperations\u002Fget-installation-credential-readiness","zh\u002F6.reference\u002F3.operations\u002F10.get-installation-credential-readiness",{"title":141,"path":142,"stem":143},"读取公开商品目录","\u002Fzh\u002Freference\u002Foperations\u002Flist-public-products","zh\u002F6.reference\u002F3.operations\u002F11.list-public-products",{"title":145,"path":146,"stem":147},"按 slug 读取公开商品","\u002Fzh\u002Freference\u002Foperations\u002Fget-public-product","zh\u002F6.reference\u002F3.operations\u002F12.get-public-product",{"title":149,"path":150,"stem":151},"读取公开店铺资料","\u002Fzh\u002Freference\u002Foperations\u002Fget-public-merchant","zh\u002F6.reference\u002F3.operations\u002F13.get-public-merchant",{"title":153,"path":154,"stem":155},"读取店铺公开商品","\u002Fzh\u002Freference\u002Foperations\u002Flist-public-merchant-products","zh\u002F6.reference\u002F3.operations\u002F14.list-public-merchant-products",{"title":157,"path":158,"stem":159},"读取店铺公开分类","\u002Fzh\u002Freference\u002Foperations\u002Flist-public-merchant-categories","zh\u002F6.reference\u002F3.operations\u002F15.list-public-merchant-categories",{"title":161,"path":162,"stem":163},"读取店铺公开商品详情","\u002Fzh\u002Freference\u002Foperations\u002Fget-public-merchant-product","zh\u002F6.reference\u002F3.operations\u002F16.get-public-merchant-product",{"title":165,"path":166,"stem":167},"读取当前 API Key 的标识与 scope","\u002Fzh\u002Freference\u002Foperations\u002Fget-api-key-identity","zh\u002F6.reference\u002F3.operations\u002F17.get-api-key-identity",{"title":169,"path":170,"stem":171},"通过 API Key 读取公开分类","\u002Fzh\u002Freference\u002Foperations\u002Flist-api-key-catalog-categories","zh\u002F6.reference\u002F3.operations\u002F18.list-api-key-catalog-categories",{"title":173,"path":174,"stem":175},"通过 API Key 读取公开商品目录","\u002Fzh\u002Freference\u002Foperations\u002Flist-api-key-catalog-products","zh\u002F6.reference\u002F3.operations\u002F19.list-api-key-catalog-products",{"title":177,"path":178,"stem":179},"通过 API Key 读取公开商品","\u002Fzh\u002Freference\u002Foperations\u002Fget-api-key-catalog-product","zh\u002F6.reference\u002F3.operations\u002F20.get-api-key-catalog-product",{"title":181,"icon":182,"path":183,"stem":184,"children":185,"page":21},"示例","i-lucide-code-xml","\u002Fzh\u002Fexamples","zh\u002F7.examples",[186,190],{"title":187,"path":188,"stem":189},"最小 Nuxt Storefront","\u002Fzh\u002Fexamples\u002Fnuxt-storefront","zh\u002F7.examples\u002F1.nuxt-storefront",{"title":191,"path":192,"stem":193},"Webhook 验签","\u002Fzh\u002Fexamples\u002Fwebhook-verification","zh\u002F7.examples\u002F2.webhook-verification",{"title":195,"icon":196,"path":197,"stem":198,"children":199,"page":21},"版本与支持","i-lucide-life-buoy","\u002Fzh\u002Foperations","zh\u002F8.operations",[200,204],{"title":201,"path":202,"stem":203},"版本、迁移与变更记录","\u002Fzh\u002Foperations\u002Fversions-and-migrations","zh\u002F8.operations\u002F1.versions-and-migrations",{"title":205,"path":206,"stem":207},"支持与安全披露","\u002Fzh\u002Foperations\u002Fsupport-and-security","zh\u002F8.operations\u002F2.support-and-security",{"id":209,"title":33,"body":210,"description":292,"extension":293,"links":294,"meta":295,"navigation":296,"path":34,"seo":297,"stem":35,"__hash__":298},"docs_zh\u002Fzh\u002F2.storefront\u002F2.challenge-and-turnstile.md",{"type":211,"value":212,"toc":287},"minimark",[213,217,224,227,231,280],[214,215,33],"h1",{"id":216},"turnstile-的信任边界",[218,219,220],"blockquote",{},[221,222,223],"p",{},"状态：规划\u002F未启用。尚无已核验的 Ayalink Cloudflare widget、hostname、Siteverify、zone\u002FWAF 或 pre-clearance 配置证据。",[221,225,226],{},"Turnstile 只能降低官方 Ayalink 登录\u002F授权端点上的 bot 与自动化滥用。它不是网站所有权、页面真实性、用户身份、MFA、OAuth grant 或资源授权证明；仿冒者也能在钓鱼页部署自己的 Turnstile。因此“页面出现验证码”绝不能作为可信提示。防仿冒主要依赖核对官方 authorization domain、官方流程中经验证可用的 Passkey\u002FWebAuthn、OAuth Authorization Code + PKCE S256，以及 audience\u002Fresource\u002Fscope 受限的短期 grant。",[228,229,230],"h2",{"id":230},"启用前的强制门禁",[232,233,234,238,249,265,268],"ul",{},[235,236,237],"li",{},"widget 只允许明确登记的官方 hostname；site key 即使公开也不是可信站点证明。",[235,239,240,241,248],{},"浏览器 token 必须交给 Ayalink 服务端，由服务端调用 ",[242,243,247],"a",{"href":244,"rel":245},"https:\u002F\u002Fdevelopers.cloudflare.com\u002Fturnstile\u002Fget-started\u002Fserver-side-validation\u002F",[246],"nofollow","Cloudflare Siteverify","；不能只信任客户端回调。",[235,250,251,252,256,257,260,261,264],{},"服务端除 ",[253,254,255],"code",{},"success"," 外必须比对预期 ",[253,258,259],{},"hostname"," 与 ",[253,262,263],{},"action","。secret 只存在于受控服务端配置，不进入浏览器、文档、日志或错误遥测。",[235,266,267],{},"token 自生成起五分钟过期且只能验证一次；超时或重复验证必须失败，不能转为长期 clearance 或登录状态。",[235,269,270,275,276,279],{},[242,271,274],{"href":272,"rel":273},"https:\u002F\u002Fdevelopers.cloudflare.com\u002Fturnstile\u002Fadditional-configuration\u002Fhostname-management\u002Fpre-clearance\u002F",[246],"pre-clearance"," 只用于 widget hostname 与 Cloudflare zone\u002FWAF 规则正确关联的同 zone 防护。",[253,277,278],{},"cf_clearance"," 只让请求按配置跳过相应 WAF challenge，不是 Ayalink session、OAuth grant 或授权事实。",[221,281,282,283,286],{},"在以上配置与真实验证证据完成前，文档不提供 Ayalink site key、Siteverify 接线、",[253,284,285],{},"CHALLENGE_REQUIRED"," 协议或生产成功示例，也不宣称 Turnstile 已保护任何线上流程。",{"title":288,"searchDepth":289,"depth":289,"links":290},"",2,[291],{"id":230,"depth":289,"text":230},"将 Turnstile 限定为官方登录与授权端点的 bot 防护，而不是网站真实性或登录证明。","md",null,{},true,{"title":33,"description":292},"jNlcilj7vsfJxirfl9NmGI-XNpnjG9ZlPzkEpwBMyzM",[300,302],{"title":29,"path":30,"stem":31,"description":301,"children":-1},"在保持 Ayalink 身份、页面准入、缓存和挑战边界的前提下构建独立商城。",{"title":37,"path":38,"stem":39,"description":303,"children":-1},"由权威 public-only artifact 生成的店铺前端公共 API 入口。",1785955330889]