如何在多个应用程序中使用硬件密钥(Yubikey 和 Titan Key)?

问题描述 投票:0回答:1

我正在开发一个 Saas 应用程序,它使用硬件密钥 (Yubikey、Titan Key),使用 WebAuthn/U2F 协议来实现 2 因素身份验证功能。 该功能非常适合在网页版中进行注册和身份验证。 但是,我的应用程序还有移动版本、桌面应用程序和浏览器扩展。如果我使用网页版注册密钥,则无法在其他版本中进行身份验证。

我认为问题是因为注册时密钥是使用网页版的域名注册的,而当我使用其他版本时验证失败,因为它不是同一个域名。

例如:我的密钥是注册的,域名是 example.com,从 chrome 扩展程序登录时,域名是 chrome-extension

我如何解决这个问题,或者我如何从同一应用程序的不同形式进行身份验证。

flutter mean-stack webauthn fido-u2f yubikey
1个回答
0
投票

WebAuthn 凭证的范围仅限于 RP ID。网站

www.example.com
可以使用 RP ID
www.example.com
example.com
。 (大致上,您可以从域名左侧删除标签,但不能删除有效 TLD,因此没有 RP ID
com
。)

移动应用程序可以使用任何 RP ID,但域必须通过在

/.well-known/
中的文件中列出它们来授权它们。 (AndroidiOS之间的细节有所不同。)

Chrome 扩展程序只能使用

chrome-extension:
… RP ID。您不是第一个询问是否可以扩展的人,Web 扩展 CG 可能最终会定义一些东西,但目前我担心什么也没有。

© www.soinside.com 2019 - 2024. All rights reserved.