传统身份验证方法的不足:随着互联网的普及,我们越来越依赖网络服务来进行日常工作和娱乐。然而,在线身份认证一直是一个棘手的问题。密码、短信/邮件验证码、OTP(一次性密码)或双因素身份验证等传统身份认证方式存在一些缺点:破解、泄漏或遗忘,因此不够安全和方便。短信/邮箱验证码:使用短信/邮箱验证码进行身份验证时,会向用户手机发送一个验证码,用户需要在网站或应用中输入此验证码进行登录。但是,短信验证码可能被拦截或伪造,导致身份认证失败。OTP(一次性密码):OTP是一种使用一次性密码进行身份验证的方法。OTP通常会生成一个每隔一段时间更改一次的动态密码,用户需要在网站或应用程序中输入此密码才能登录。OTP可以在设备不在场的情况下进行身份验证,但如果OTP被拦截或欺骗,身份验证将失败。Two-factorauthentication:也称为双因素认证,是一种需要用户同时提供两种不同类型的凭据才能通过认证的认证方式。通常,双因素身份验证使用两种不同的身份验证因素:您知道的东西(例如密码)和您拥有的东西(例如电话或安全令牌)。因此,需要输入额外的信息,因此可能会增加登录时间,从而影响用户体验。WebAuthn是什么?有没有一种既能保证安全又不影响用户体验的身份认证方式?那就是WebAuthn。WebAuthn由W3C(万维网联盟)提出,是一种基于浏览器的新型在线身份验证技术,允许用户使用基于硬件的身份验证设备,例如AppleTouchID和WindowsHello或用于移动设备的生物识别传感器。验证。WebAuthn旨在为用户提供更安全、更方便的在线身份验证方法,并得到大多数现代网络浏览器的支持。WebAuthn的工作原理如下:当用户首次注册时,用户设备生成一个私钥,用户设备使用私钥对登录信息进行签名。服务器验证签名,在确认用户身份的过程中不使用密码。相比之下,WebAuthn使用数字签名技术来验证用户身份,数字签名使用公钥加密算法,可以提供更高的安全性。WebAuthn为认证解决了哪些问题?与传统的密码认证方式相比,WebAuthn具有诸多优势。首先,它提供了更高的安全性。由于不使用密码,不会因密码泄露而对账户安全造成威胁。此外,WebAuthn还可以使用多种验证方式,包括指纹识别、人脸识别等,这些验证方式很难被冒充,因此可以大大提高账户安全性。其次,WebAuthn提供了更便捷的登录体验。用户只需在首次登录时注册身份,即可使用WebAuthn进行快速登录。用户无需记住密码,无需担心忘记密码带来的麻烦。当然,WebAuthn也有一些缺点。例如,它仅适用于支持WebAuthn的设备,因此它可能不适用于某些较旧的设备。此外,要为网站或应用程序创建公私密钥对,用户必须先在该网站或应用程序上注册,对于不熟悉WebAuthn的用户,可能需要一些时间来学习和理解这种身份验证方法。总的来说,WebAuthn的出现在密码被频繁攻击的今天,为我们提供了更高的安全性和更便捷的登录体验。web-authn-completed-app是做什么的?为了让对WebAuthn感兴趣的开发者能够更快的了解和开发,我完成了一个基于WebAuthn的身份认证过程的demo,方便开发者进行二次开发。项目名为web-authn-completed-app,技术栈:客户端采用Vue3+Typescript+Vite3开发;服务器使用Express;数据库使用MySQL8。同时,为了方便开发者的部署和二次开发,我详细描述了在不同场景下如何操作和启动应用。在线体验:可以直接访问https://web-authn.x-dev.club,体验这种新的认证方式带来的便利源码地址:源码可以在github中查看如果觉得对你有帮助,欢迎投稿star,欢迎一起交流学习~下图为该demo在WIN10和安卓设备上的演示。如果图片无法显示,请到https://github.com/guMcrey/we...查看,或者直接访问演示地址:https://web-authn.x-dev.club如果图片无法显示,请到https://github.com/guMcrey/we...查看,或直接访问演示地址:https://web-authn。x-dev.club设备和浏览器兼容性也是我们必须考虑的事情,设备和浏览器要求:以下任何设备Android设备(最好带有生物识别传感器)iOS14或更高版本带有TouchID的iPhone或iPad或FaceID配备macOSBigSur或更高版本的MacBookPro或更高版本,配备TouchIDWindows1019H1或更高版本,并设置了WindowsHello浏览以下任意一项GoogleChrome67或更高版本MicrosoftEdge85或更高版本Safari14或更高版本获得更多浏览器兼容性,请查看CanIuse声明:全部通过https://web-authn.x-dev.club注册用户数据不会被使用,仅用于demo用户统计,如果您还介意,可以发送发邮件到itgumx@163.com要求删除数据外部链接:demo地址:https://web-authn.x-dev.club源码:https://github.com/guMcrey/we...WebAuthnMDN:https://developer.mozilla.org...
