輕量級開源用戶身份驗證解決方案 - Hanko
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。