问题标签 [webauthn]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
navigator - 本地主机上的 WebAuthn 开发
我正在尝试使用 WebAuthn 开发网站身份验证。不幸的是,我遇到了问题。调用 navigator.credentials.create 时出现以下错误:
SecurityError: 依赖方 ID ' https://localhost:7000 ' 不是可注册域后缀,也不等于 ' https://localhost:7000 '。
这真的意味着我不能从 localhost 开发 WebAuthn 吗?顺便说一句,我正在使用 Chrome70 测试版。我必须在一个真实的领域进行开发,这似乎有点疯狂,调试和开发将成为一场噩梦。
有什么想法吗?WebAuthn 中真的禁止 localhost 吗?
谢谢
javascript - 如何检查浏览器是否支持公钥凭据?
我正在使用 PHP 实现webauthn,现在我面临如何检测浏览器是否支持公钥凭据的问题。如果浏览器支持公钥凭据,那么我必须启动指纹注册程序。
那么有什么方法可以检测浏览器公钥凭据。
fido-u2f - 您如何使用 Webauthn API 实现 FIDO U2F?
我目前正在使用window.u2f
API 在我的网站上实现 U2F 两因素身份验证。这些在 Firefox(启用 about:config 标志时)和通过带有u2f-api.js库的 Chromium 原生可用。
我的实现window.u2f.register(...)
在密钥设置和window.u2f.sign(...)
登录期间使用。
我已经读到新的Web 身份验证 API是向后兼容的,并且也支持 FIDO U2F,但是,我找不到任何有关如何实现它的信息。所有示例似乎只演示了 FIDO2 无密码登录,这不是我想要做的。
如何使用 Web 身份验证 API 实现具有等效功能的window.u2f.register
FIDO U2F?window.u2f.sign
firebase - Firebase Fido2 身份验证支持
我知道 Google 的 Firebase/Firestore 平台支持多种身份验证方法/后端,但我目前没有看到 Fido2 或 WebAuthn 用于 Firebase 身份验证的任何选项。有谁知道 Google 是否有时间表在其 Firebase 开发平台上发布对 Fido2 的支持?或者,如果它已经可用,而我只是缺少一些东西。
我目前只使用 Spark FREE 计划,所以我不知道这是否有问题。
任何见解或帮助将不胜感激。
干杯!
javascript - 无法理解来自 JavaScript 的 WebAuthn API 错误
我目前正在为 Django 构建一个 AJAX 注册端点,以允许 FIDO2 身份验证(物理硬件密钥登录)。这是来自Yubico 的官方 fido2 python 库的示例/文档。
唯一的依赖是cbor.js
和js-cookie
。现在所有服务器端都在工作,但是,我在调用该navigator.credentials.create
方法时不断收到此 JavaScript 错误
编码:
我想不通。你知道有什么问题吗?谢谢!
typescript - 如何在 TypeScript 中键入 PublicKeyCredential?
我正在使用 WebAuthN API,我想使用它PublicKeyCredential
来检测身份验证器。但是我的 TypeScript 不知道这个名字并且一直告诉我error TS2304: Cannot find name 'PublicKeyCredential'.
。
我确实导入了“@types/webappsec-credential-management”以获得正确的类型。但是出于同样的原因,我的 TypeScript 不想编译。
您知道如何将其添加到我的tsconfig.json
或其他解决方案中以正确使用 TypeScript 吗?
yubico - Yubikey 5 NFC:获得“打包”证明声明
使用以下 javascript 请求:
兼容 FIDO2 的 Yubikey 5 NFC 系统地返回"fido-u2f"
证明声明:
如何改为接收 FIDO2"packed"
证明声明?
google-chrome - Chrome 中 CTAP2 (FIDO2) 协议的不完整实现?
我一直在研究使用 Google Chrome 实现 CTAP2 协议(Fido Authenticator 和 Fido 客户端(例如 Chrome)之间的协议),Chrome从版本 69 起应该支持该协议。
所以我在两种情况下将 chrome 请求转储给了身份验证器:
1. U2F (CTAP1) 与yubico 演示网站。
这里一切都按预期进行,chrome 遵循CTAP1 协议。
2. FIDO2/Webauthn (CTAP2) 与webauthn.org
浏览器有一个奇怪的行为:
- 它首先通过发送 AuthenticatorGetInfoRequest 遵循 CTAP2 协议
- Authenticator 回复 AuthenticatorGetInfoResponse
- 但随后 Chrome 通过发送注册请求消息 (U2F_REGISTER) 切换到 CTAP1 协议
Chrome 实现是否有问题:CTAP2 尚未完全启用(它似乎在 Chromium 源代码中实现)?
还是来自身份验证器的问题:发送使 Chrome 切换到 CTAP1 的响应?
还是完全不同的东西?
google-chrome - Yubico / Webauthn 和常驻密钥
我有一个 Yubikey 5,我正在使用 OSX 和 Chrome 72。
根据文档,我应该有多达 25 个常驻密钥: https: //support.yubico.com/support/solutions/articles/15000014219-yubikey-5-series-technical-manual#FIDO29g3ue8
从技术上讲,如果我是对的,需要一个常驻密钥才能在没有用户名的情况下“进行身份验证”。尝试使用 webauthn 进行身份验证时,浏览器应“要求”用户根据存储的域/驻留密钥选择“身份”。
我在一些演示站点上尝试使用驻留密钥的 webauthn。但似乎 Chrome 或 Key 都不“支持”驻留密钥。
我很确定之前 Yubico 网站上存在“无用户名”注册/登录。但我找不到它。我认为演示站点已经更新......并且该功能不再存在。
你知道如何测试 webauthn 常驻密钥吗?