You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

交叉编译的WebAuthn Go示例报浏览器不支持但宿主运行正常

问题核心诱因
  • 安全上下文限制是触发报错的根本原因
    WebAuthn API的W3C规范明确要求接口必须在安全上下文中才能暴露,Chrome 91的实现中仅以下两类场景符合安全上下文要求:
    1. 访问地址为localhost/127.0.0.1这类本地回环地址
    2. 访问使用HTTPS协议且证书有效
      你在本地宿主运行时用的是本地回环地址,符合安全上下文要求,window.PublicKeyCredential正常存在;部署到arm7设备后,不管用IP还是bonjour域名访问,只要走HTTP协议且不是本地回环地址,浏览器就会隐藏PublicKeyCredential接口,因此触发你贴的这段校验逻辑:
// check whether current browser supports WebAuthn
if (!window.PublicKeyCredential) {
     alert("Error: this browser does not support WebAuthn");
     return;
   }

这个报错和后端服务的交叉编译架构、设备是否联网完全无关,因为这段校验逻辑完全运行在用户的浏览器侧。

可行解决方法
  • 给arm7设备上的服务配置有效HTTPS证书,使用HTTPS协议访问
  • 临时测试可以修改Chrome安全策略:访问chrome://flags/#unsafely-treat-insecure-origin-as-secure,将你的服务地址(如http://192.168.x.x:端口或对应bonjour地址)加入白名单,重启浏览器后即可正常访问

内容的提问来源于stack exchange,提问作者Umut

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 10:54:03