轻量级开源用户身份验证解决方案 - Hanko
source link: https://www.51cto.com/article/716114.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
轻量级开源用户身份验证解决方案 - Hanko-51CTO.COM
Hanko 是一个轻量级的开源用户身份验证解决方案,是一个 Auth0 的开源替代品。该项目是一个由六个开发人员和设计师组成的团队,项目的任务是彻底改变我们的在线认证方式。在过去的 4 年里,团队一直在研究网络和移动端的用户认证,然后决定将团队所学到的所有知识投入到一个开源项目中。
但为什么是另一个认证解决方案呢?
因为随着密码的第一个重要替代物 - passkeys 的出现,我们验证网站和应用程序的方式将发生根本性的变化,而这种变化使我们能够重新思考用户登录的工作方式。而 Hanko 则就是这样的一个开源项目。
Hanko 具有非常多的特性:
- 开放源码的用户认证:首先,Hanko 是一个开源的用户认证解决方案,特别容易集成到网站和 app。Hanko 提供了一个网络组件,可用于现代前端框架(Vanilla JS、React、Next、Vue......),并可通过 CSS 完全定制,完美地融入品牌。
- 我们的密码是什么?有一件事我们做得与其他人不同,我们退一步看了看认证技术的发展方向。在互联网最具影响力的标准机构 W3C 的幕后,一个永久替代密码的愿景已经形成。经过多年的酝酿,这一替代方案终于在今年得以实现,它被称为 passkeys。
- 使用通行证的无密码账户:有史以来第一次,通行证实现了真正的无密码认证体验。与最近的其他技术(如 Magic Links 或发送到你手机上的代码)不同,Hanko 的通行证实现提供了一种方便且非常安全的登录体验,不需要切换上下文。通过结合生物识别技术和密码质询-响应协议,passkeys 可有效防止网络钓鱼和 SIM 卡交换等最常见的攻击。99% 的情况下,passkeys 登录是使用 Touch ID 或 Face ID 及其同等的生物识别登录,势必会得到这些技术在被引入解锁我们的手机后的 90% 以上的采用率,我们为这种变化构建了 Hanko。
- 无密码之旅从密码开始:Hanko 是围绕着 passkeys 登录体验而定制的,引导用户远离密码。但我们确保不会忘记今天所有人都在使用的东西,那就是密码。这就是为什么我们仍然包括(可选择的)密码支持以及所有必要的用户流,以结合传统的密码使用行为和新的 passkeys 用户体验。
- 对于建设者来说:Hanko 是一个具有超强功能的认证解决方案,专注于即将到来的从密码到 passkeys 的旅程。Hanko 是那些正在寻找现代认证解决方案的团队的完美选择,同时也是每一个想要接受 passkeys 的现有登录者的理想插件。
要使用 Hanko 最快的方式是使用 docker-compose。首先 clone 项目:
$ git clone https://github.com/teamhanko/hanko.git
然后在 hanko 目录下面执行下面的命令:
$ docker-compose -f deploy/docker-compose/quickstart.yaml -p "hanko-quickstart" up --build
服务启动并运行后,可以在 localhost:8888 打开示例登录。为了在没有您自己的 smtp 服务器的情况下接收电子邮件,我们添加了 mailslurper,它将在 localhost:8080 可用。
整个 Hanko 项目包括 3 个核心的模块:
- backend:身份验证 API,支持 passkeys、passcodes 和 password,以及用户管理和 JWT 令牌发行
- hanko-js:为 Hanko 后端制作的 Web 组件,具有出色的登录体验,并且高度可定制
- example:快速入门示例应用程序,展示 Hanko 的优势并作为参考实现
Hanko 项目方也提供了一个在线的示例网站 https://example.hanko.io/ 供我们体验,感兴趣的朋友可以前往测试体验。比如在浏览器端使用 passkey 进行登录的时候会弹出如下所示的对话框让我们去选择认证的方式,可以直接使用当前设备、添加一部 Android 手机或者 USB 连接的设备等等。
Git 仓库:https://github.com/teamhanko/hanko。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK