我正在尝试用 Java 开发 WebAuthn 注册流程。
因此,我可以访问我所在大学的privacyIDEA 服务器。
例如,假设我大学的源域名为 university-server.com
。 PrivacyIDEA 服务器具有子域 webauthn.university-server.com
。
为了构建 Web 应用程序,我使用 Vaadin。
如果我启动 Web 应用程序,Tomcat 将作为本地 Web 服务器启动。 这个网络应用程序背后的想法是:
- 用户可以使用用户名和密码登录,并创建 WebAuthn token 作为第二因素。
- 当用户按下按钮时,应触发注册过程。
- 如果注册成功,WebAuthn token 应保存在
webauthn.university-server.com
上。
从这里开始,我遇到了两个问题:
问题 1:
在本地主机站点上,系统提示我使用我的安全 key ,但注册过程从未完成。显然数据永远不会到达。
问题 2:
如果我在 JavaScript 函数 navigator.credentials.create()
中将参数 rp(依赖方)设置为子域 webauthn.university-server.com
并启动网络应用程序,
与第一个问题不同,我永远不会被提示使用我的安全 key 。相反,会出现错误“操作不安全”。
WebAuth 注册可以在我的测试环境中工作吗? 说实话,我对此并不确定。
最佳答案
有类似的问题。但我成功地将本地测试站点配置为使用自签名证书来处理子域。
关于javascript - WebAuthn: navigator.credentials.create() 是否可以从本地主机到另一个(子)域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77558218/