通行金鑰的工具和程式庫
本主題包含工具和連結庫的相關信息,可協助您實作複雜密鑰。
程式庫
選取準則
如果您想要在內部擁有無密碼驗證,或想要實作複雜密鑰的周全解決方案,則您可能會尋找連結庫或廠商。 選取連結庫以實作複雜密鑰時,您應該以信賴憑證者 (RP) 身分的開發人員身分留意哪些專案?
注意
這些準則的一小組不是傳遞密鑰特有的,但在選取開放原始碼解決方案時,請務必記住這組準則。
WebAuthn 版本和功能
- 版本。 檢查連結庫支援的規格版本 (層級 2、層級 3 等等)。
- 特性和功能。 檢查連結庫是否包含您使用案例的主要特性和功能。
- 連結庫是否有助於產生註冊和驗證選項? 它是否有助於驗證註冊和驗證回應? 從信賴憑證者 (RP) 的觀點來看,這些是實作的關鍵步驟。 因此,請確定您選取的連結庫會針對這些步驟提供有用的函式。
- 如果您正在考慮使用證明功能:
- 連結庫是否有助於以某種方式利用 FIDO MDS?
- 連結庫可以驗證所有證明語句格式嗎?
驗證步驟
檢查連結庫是否遵循必要的驗證步驟:
- 註冊期間。
- 在驗證期間。
使用者介面 (UI) 和使用者體驗 (UX)
如果您要尋找提供 UI 元素的連結庫:
- 視覺一致性。 檢查解決方案是否使用標準化圖示。
- 清除語言。 使用純文本的指示對於更廣泛的使用者理解至關重要。 排列符合 FIDO UX 指導方針的解決方案的優先順序。
開發人員體驗
- 完整堆疊涵蓋範圍。 提供緊密整合前端和後端元件的連結庫(例如 SimpleWebAuthn)可以簡化整合。
- 開發人員檔。 為了簡化整合程式,請檢查連結庫是否有維護的文件網站 。
開發人員參與和維護
- 開放原始碼維護。 如需開放原始碼選項,請調查其社群活動。 一些作用中問題,或具有最新捲標的許多問題(假設這些標籤需要手動指派),以及參與者的批註都是作用中社群的訊號。
- 耐心。 標準可能會緩慢移動。 因此,如果沒有任何實際問題,WebAuthn/passkey 連結庫在更新之間可能會有很長的時間。 但這並不表示連結庫沒有保證。
授權
在專案的內容中檢閱解決方案的授權模型(例如 MIT、Apache、商業)。
已更新複雜金鑰
- Rust。 Webauthn-rs - Rust 伺服器應用程式的 Webauthn (威廉·布朗)。
- TypeScript。 SimpleWebAuthn (Matthew Miller) 。
- Java。 java-webauthn-server (Yubico)。
其他 FIDO2/WebAuthn 連結庫
WebAuthn Awesome GitHub 存放庫也會定期使用來自社群的連結庫進行更新。
- .NET。 FIDO2 .NET Library (Anders Åberg,Alex Seigler)。
- Go。 WebAuthn 連結庫。
- Java。 WebAuthn4J (Yoshikazu Nojima) 。
- Python py_webauthn (Duo Labs)。
- Ruby。 webauthn-ruby (Cedarcode)、 設計::P asskeys(Ruby Passkeys 、webauthn-ruby 周圍的包裝函式)和 Warden::WebAuthn (Ruby Passkeys,webauthn-ruby 周圍的包裝函式)。
測試網站和工具
除了下列各節所列的資源之外, WebAuthn Awesome GitHub 存放庫也會定期使用社群的工具和示範進行更新。
基本 FIDO2/WebAuthn 工具
進階 FIDO2/WebAuthn 工具
下一步
接下來,請參閱 傳遞金鑰的參考。