Get your free and exclusive 80-page Banking Passkey Report
WebAuthn Immediate Mediation

WebAuthn Immediate Mediation: Giải thích chi tiết

Tìm hiểu sâu về WebAuthn immediate mediation. Khám phá cách nó tạo ra một nút đăng nhập duy nhất, tránh các mã QR khó hiểu và xây dựng luồng đăng nhập thông minh hơn.

Vincent Delitz

Vincent

Created: August 8, 2025

Updated: August 13, 2025


See the original blog version in English here.

WhitepaperEnterprise Icon

60-page Enterprise Passkey Whitepaper:
Learn how leaders get +80% passkey adoption. Trusted by Rakuten, Klarna & Oracle

Get free Whitepaper

1. Giới thiệu: Nghịch lý Passkey và Nút "Đăng nhập" Duy nhất#

Việc chuyển đổi sang passkey đang tạo ra một "nghịch lý passkey": một số người dùng đã có passkey, trong khi nhiều người vẫn sử dụng mật khẩu truyền thống. Điều này dẫn đến các màn hình đăng nhập lộn xộn với nhiều nút: "Đăng nhập bằng Mật khẩu", "Đăng nhập bằng Google" và "Đăng nhập bằng Passkey". Sự phân mảnh này gây ra rào cản. Một người dùng có thể nhấp vào "Đăng nhập bằng Passkey" trên một thiết bị mới chỉ để đối mặt với lời nhắc mã QR khó hiểu vì passkey của họ không có sẵn trên thiết bị đó. Vấn đề cốt lõi là trang web không thể biết được ngữ cảnh của người dùng trước khi bắt đầu một luồng xác thực.

Một giải pháp là đi theo hướng ưu tiên định danh trước và xác định phương thức đăng nhập tốt nhất cho người dùng. Một giải pháp tiềm năng khác là một nút "Đăng nhập" thông minh duy nhất có thể điều phối luồng liền mạch nhất cho mỗi người dùng. Nó nên trực tiếp nhắc sử dụng passkey nếu có sẵn trên thiết bị, hoặc chuyển đổi mượt mà sang các phương thức khác nếu không.

Một tính năng WebAuthn mới được công bố có thể biến điều này thành hiện thực: Immediate Mediation (mediation: 'immediate'). Bằng cách đặt thuộc tính này trong một lệnh gọi API WebAuthn, các nhà phát triển có thể xây dựng một trải nghiệm đăng nhập thông minh, hợp nhất, giải quyết được nghịch lý passkey. Bài viết này cung cấp một phân tích tập trung vào lập trình viên về mediation: 'immediate', khám phá nó là gì, hoạt động như thế nào và cách triển khai.

2. WebAuthn Mediation là gì?#

Để hiểu về Immediate Mediation, trước tiên chúng ta cần biết các tùy chọn khác. Cơ chế trung gian người dùng trong WebAuthn là cách trình duyệt quản lý sự tương tác giữa trang web của bạn (Bên Tin Cậy) và trình xác thực của người dùng (ví dụ: Face ID, YubiKey).

2.1. Trung gian Modal (Hành vi mặc định)#

Đây là luồng WebAuthn cổ điển, tường minh. Khi một Bên Tin Cậy (Relying Party) gọi navigator.credentials.get() mà không chỉ định tùy chọn mediation, trình duyệt luôn luôn hiển thị một hộp thoại modal. Hộp thoại này che phủ nội dung trang, yêu cầu sự chú ý ngay lập tức của người dùng và tạm dừng mọi tương tác khác với trang web.

  • Trường hợp sử dụng: Tốt nhất cho các nút "Đăng nhập bằng Passkey" chuyên dụng, nơi người dùng đã nêu rõ ý định của họ.
  • Hạn chế: Nếu người dùng không có passkey trên thiết bị hiện tại, họ sẽ thấy một luồng đăng nhập chéo thiết bị (ví dụ: mã QR), điều này có thể là một ngõ cụt khó hiểu.
Debugger Icon

Want to experiment with passkey flows? Try our Passkeys Debugger.

Try for Free

2.2. Trung gian có điều kiện: mediation: 'conditional'#

Được giới thiệu để giúp người dùng chuyển đổi sang passkey, chế độ này tinh tế hơn. Với mediation: 'conditional', yêu cầu WebAuthn được đính kèm vào một trường nhập liệu (ví dụ: tên người dùng) với thuộc tính autocomplete="webauthn". Khi người dùng nhấp vào trường đó, giao diện tự động điền của trình duyệt sẽ đề xuất bất kỳ passkey nào có sẵn.

  • Trường hợp sử dụng: Lý tưởng để cải tiến tăng dần các biểu mẫu đăng nhập truyền thống, cho phép người dùng khám phá và sử dụng passkey mà không cần một nút riêng.
  • Hạn chế: Nó ưu tiên quyền riêng tư một cách nghiêm ngặt đến mức nếu người dùng không có passkey hoặc không tương tác với lời nhắc, promise của lệnh gọi API không bao giờ được giải quyết. Trang web không nhận được tín hiệu nào, khiến việc điều phối một giao diện dự phòng trở nên bất khả thi.

3. Immediate Mediation là gì?#

mediation: 'immediate' là giải pháp cho vấn đề "nút đăng nhập duy nhất". Nó cung cấp một cách đáng tin cậy để một trang web kiểm tra sự sẵn có của passkey trước khi hiển thị bất kỳ giao diện người dùng nào.

3.1 Khái niệm cốt lõi: "Hỏi, Đừng Ra Lệnh"#

Thay vì ra lệnh cho người dùng xác thực bằng passkey thông qua một hộp thoại modal, immediate mediation hỏi trình duyệt: "Có passkey nào sẵn sàng trên thiết bị này cho người dùng này ngay bây giờ không?"

Điều quan trọng là, truy vấn này chỉ kiểm tra các thông tin xác thực có sẵn cục bộ (ví dụ: các trình xác thực (authenticator) trên thiết bị như Windows Hello hoặc passkey được đồng bộ hóa qua trình quản lý mật khẩu). Nó được thiết kế để tránh kích hoạt luồng mã QR chéo thiết bị, một điểm gây rào cản phổ biến.

Demo Icon

Want to try passkeys yourself in a passkeys demo?

Try Passkeys

3.2 Luồng logic hai nhánh#

Sức mạnh của tính năng này nằm ở kết quả nhị phân rõ ràng của nó. Promise được trả về bởi navigator.credentials.get() sẽ thành công hoặc thất bại, mang lại cho nhà phát triển một tín hiệu rõ ràng.

  • Nhánh 1 (Thành công): Tồn tại thông tin xác thực. Nếu trình duyệt tìm thấy một passkey có sẵn cục bộ, nó sẽ bỏ qua giao diện người dùng của trang web và ngay lập tức hiển thị hộp thoại modal gốc của riêng nó, chẳng hạn như trình chọn tài khoản. Nếu người dùng xác thực thành công, promise sẽ được giải quyết với đối tượng PublicKeyCredential.
  • Nhánh 2 (Thất bại): Không tồn tại thông tin xác thực. Nếu trình duyệt không tìm thấy thông tin xác thực nào có sẵn cục bộ, nó sẽ không hiển thị giao diện người dùng nào. Thay vào đó, promise của navigator.credentials.get() ngay lập tức bị từ chối với một DOMException tên là NotAllowedError.

3.3 Lợi ích của Immediate Mediation là gì?#

NotAllowedError không phải là một lỗi. Nó更 giống một tính năng. Đó là một tín hiệu đáng tin cậy, tức thời cho biết trang web nên tiếp tục với một phương thức xác thực dự phòng. Điều này cho phép các nhà phát triển sử dụng một khối try...catch đơn giản: khối try cố gắng thực hiện luồng passkey liền mạch, và khối catch lắng nghe NotAllowedError để hiển thị một biểu mẫu đăng nhập truyền thống. Nó giải quyết một cách thanh lịch vấn đề nút đăng nhập duy nhất bằng cách tạo ra một điểm vào duy nhất có khả năng thích ứng thông minh với ngữ cảnh của người dùng.

4. So sánh Immediate, Conditional và Modal#

Việc chọn chế độ trung gian phù hợp là một quyết định quan trọng về trải nghiệm người dùng (UX). Bảng này cung cấp một sự so sánh song song.

Tính năng / Hành viModal (Mặc định)Giao diện có điều kiện (conditional)Tức thì (immediate)
Lệnh gọi APInavigator.credentials.get()navigator.credentials.get({ mediation: 'conditional' })navigator.credentials.get({ mediation: 'immediate' })
Kích hoạtHành động rõ ràng của người dùng (ví dụ: nhấp chuột vào nút)Tải trang; Giao diện khi focus vào trường nhập liệuHành động rõ ràng của người dùng (ví dụ: nhấp chuột vào nút)
Hiển thị giao diệnLuôn luôn hiển thị hộp thoại modal ngay lập tức.Hiển thị giao diện kiểu tự động điền, không phải modal.Chỉ khi tìm thấy thông tin xác thực cục bộ, sau đó mới hiển thị hộp thoại modal.
Hành vi nếu không có thông tin xác thực cục bộHiển thị giao diện cho luồng chéo thiết bị (ví dụ: mã QR).Promise ở trạng thái chờ, không bao giờ giải quyết, không có lỗi nào được ném ra.Promise bị từ chối ngay lập tức với NotAllowedError.
Thông tin trang web biết đượcKhông biết gì cho đến khi người dùng hoàn thành luồng.Không biết gì nếu người dùng không tương tác. Quyền riêng tư cao nhất.Biết được một bit thông tin: liệu có tồn tại thông tin xác thực cục bộ hay không.
Trường hợp sử dụng chínhNút "Đăng nhập bằng Passkey" chuyên dụng. 2FA tường minh.Biểu mẫu đăng nhập/đăng ký hợp nhất. Cải tiến tăng dần cho biểu mẫu mật khẩu.Một nút "Đăng nhập" chính, duy nhất cho một lượng người dùng hỗn hợp.
Hành động của nhà phát triểnXử lý thành công hoặc khi người dùng hủy.Xử lý thành công. Không có tín hiệu thất bại để hành động.Xử lý thành công hoặc NotAllowedError để kích hoạt giao diện dự phòng.

5. Cách triển khai Immediate Mediation#

Đây là hướng dẫn thực tế, từng bước để triển khai mediation: 'immediate'.

5.1. Bước 1: Phát hiện tính năng#

mediation: 'immediate' là một tính năng mới, việc phát hiện tính năng một cách mạnh mẽ là rất quan trọng.

// Feature detection is essential for progressive enhancement. let immediateMediationAvailable = false; if (window.PublicKeyCredential && PublicKeyCredential.getClientCapabilities) { try { const capabilities = await PublicKeyCredential.getClientCapabilities(); // The 'immediateGet' capability signals browser support. immediateMediationAvailable = capabilities.immediateGet === true; } catch (e) { console.error("Error getting client capabilities:", e); } }

5.2 Bước 2: Lệnh gọi navigator.credentials.get()#

Lệnh gọi này phải được kích hoạt bởi một hành động của người dùng, như một cú nhấp chuột vào nút.

// This function should be the event handler for your primary "Sign In" button. async function handleSignInClick() { if (!immediateMediationAvailable) { // Fall back to showing a legacy login form if the feature isn't supported. showLegacyLoginForm(); return; } try { // Fetch a fresh, random challenge from your server for each attempt. const challenge = await fetchChallengeFromServer(); const publicKeyCredentialRequestOptions = { challenge: challenge, // The server-provided challenge as a Uint8Array rpId: "example.com", // The allowCredentials list MUST be empty for immediate mediation // to protect user privacy. allowCredentials: [], }; const credential = await navigator.credentials.get({ publicKey: publicKeyCredentialRequestOptions, // This is the key that enables the immediate mediation flow. mediation: "immediate", }); // If the promise resolves, send the credential to your server for verification. await verifyCredentialOnServer(credential); } catch (error) { // The catch block is a critical part of the control flow. handleAuthError(error); } }

5.3 Bước 3: Xử lý NotAllowedError để chuyển đổi dự phòng mượt mà#

Khối catch là nơi sự "thông minh" của nút đăng nhập duy nhất được hiện thực hóa.

// Handling the NotAllowedError is the key to the fallback mechanism. function handleAuthError(error) { // Check the 'name' property of the DOMException. if (error.name === "NotAllowedError") { // This is the expected signal to show the traditional login form. console.log("No local passkey found. Showing legacy login form."); showLegacyLoginForm(); } else { // This handles other potential errors, like the user dismissing the prompt. console.error("Authentication error:", error); } }

5.4 Bước 4: Tạo một luồng hợp nhất với mật khẩu#

Để có trải nghiệm liền mạch nhất, bạn có thể yêu cầu trình duyệt tìm kiếm cả passkey và mật khẩu đã lưu trong cùng một yêu cầu bằng cách thêm password: true.

// Combining passkeys and passwords for a truly unified sign-in experience. const credential = await navigator.credentials.get({ publicKey: publicKeyCredentialRequestOptions, password: true, // Ask the browser to include saved passwords. mediation: "immediate", }); // The returned 'credential' object will either be a PublicKeyCredential // or a PasswordCredential. Your server-side logic must handle both.

5.5. Tránh các cạm bẫy thường gặp#

  1. Các yêu cầu WebAuthn đồng thời: Một yêu cầu conditional đang chờ xử lý (thường được bắt đầu khi tải trang) có thể chặn một yêu cầu immediate mới. Hãy cân nhắc sử dụng AbortController để hủy bất kỳ yêu cầu nào đang chờ xử lý trước khi bắt đầu một yêu cầu mới.
  2. Giới hạn của allowCredentials: Mảng allowCredentials phải trống. Việc cung cấp ID thông tin xác thực sẽ khiến lệnh gọi thất bại. Đây là một biện pháp bảo vệ quyền riêng tư quan trọng để ngăn các trang web kiểm tra các người dùng cụ thể, đã biết.
  3. Yêu cầu về hành động của người dùng: Lệnh gọi phải được khởi tạo từ một hành động của người dùng (ví dụ: sự kiện 'click'). Việc gọi nó theo chương trình khi tải trang sẽ bị các trình duyệt chặn như một biện pháp bảo vệ quyền riêng tư.

6. Bảo mật & Quyền riêng tư của Immediate Mediation#

mediation: 'immediate' được thiết kế với sự hiểu biết rõ ràng về những đánh đổi về bảo mật và quyền riêng tư của nó.

6.1. "Rò rỉ một-bit": Thừa nhận sự đánh đổi#

Sự đánh đổi cốt lõi là một "sự rò rỉ một-bit". Bằng cách đo thời gian giải quyết của promise, một Bên Tin Cậy (Relying Party) có thể suy ra một bit thông tin: liệu promise bị từ chối ngay lập tức (không có thông tin xác thực cục bộ) hay bị trì hoãn (một lời nhắc giao diện người dùng đã được hiển thị vì tìm thấy thông tin xác thực cục bộ). Mục đích của sự rò rỉ này là để cho phép một trải nghiệm người dùng tốt hơn.

6.2. Tại sao đây là một rủi ro chấp nhận được: Các biện pháp bảo vệ tích hợp#

Các nhà thiết kế đã lường trước khả năng lạm dụng (ví dụ: theo dõi người dùng) và đã tích hợp một số biện pháp bảo vệ không thể thương lượng:

  1. Yêu cầu hành động bắt buộc từ người dùng: Lệnh gọi API phải được kích hoạt bởi một hành động của người dùng như một cú nhấp chuột. Điều này ngăn một trang web âm thầm thăm dò các tài khoản khi tải trang và làm cho việc lấy dấu vân tay trình duyệt (fingerprinting) trên quy mô lớn trở nên không thực tế.
  2. Vô hiệu hóa trong chế độ Riêng tư/Ẩn danh: Tính năng này không được phép trong các chế độ duyệt web riêng tư để ngăn chặn việc liên kết hoạt động của người dùng giữa các phiên duyệt web bình thường và riêng tư.
  3. Danh sách allowCredentials bị cấm: Mảng allowCredentials phải trống. Điều này ngăn một trang web sử dụng tính năng này để kiểm tra xem một người dùng cụ thể đã biết có đang truy cập hay không.
  4. Chỉ trong ngữ cảnh của bên thứ nhất: Tính năng này không được phép trong ngữ cảnh của bên thứ ba (ví dụ: một iframe từ một nguồn gốc khác) để ngăn chặn việc theo dõi chéo trang web.

Những biện pháp giảm thiểu này đảm bảo rằng các đảm bảo bảo mật cốt lõi của WebAuthn vẫn không bị ảnh hưởng. Bản thân quy trình xác thực không thay đổi và vẫn có khả năng chống lừa đảo (phishing).

7. Hỗ trợ của trình duyệt cho Immediate Mediation#

mediation: 'immediate' là một tính năng nâng cao từ đặc tả WebAuthn Cấp 3, và việc triển khai nó đang được tiến hành. Tính đến giữa năm 2025, một chiến lược cải tiến tăng dần là cần thiết.

Trình duyệtTrạng tháiGhi chú & Nguồn
ChromeThử nghiệm cho nhà phát triểnCó sẵn thông qua cờ experimental-web-platform-features. Theo dõi lỗi.
EdgeĐang phát triển (Dự kiến)Là một trình duyệt dựa trên Chromium, hỗ trợ sẽ theo sau Chrome.
Safari (WebKit)Đang xem xétWebKit Standards Positions. Chưa có cam kết công khai.
Firefox (Gecko)Đang xem xétMozilla Standards Positions. Chưa có cam kết công khai.

8. Immediate Mediation so với Passkey Intelligence#

Trong khi mediation: 'immediate' cung cấp một công cụ cấp thấp tuyệt vời cho một nút đăng nhập thông minh hơn, điều quan trọng là phải phân biệt nó với một giải pháp "Passkey Intelligence" rộng hơn, chẳng hạn như giải pháp do Corbado cung cấp. Cả hai đều nhằm mục đích giải quyết nghịch lý passkey và tăng cường việc áp dụng, nhưng chúng thực hiện theo những cách khác nhau.

Tính năngmediation: 'immediate'Passkey Intelligence (ví dụ: Corbado)
Cách hoạt độngMột lệnh gọi API gốc của trình duyệt kiểm tra các passkey có sẵn cục bộ trên thiết bị hiện tại.Một dịch vụ backend thu thập và phân tích dữ liệu về thiết bị người dùng, trình xác thực và lịch sử đăng nhập qua các phiên.
Tín hiệu cung cấpMột tín hiệu nhị phân đơn giản: một passkey cục bộ tồn tại (lời nhắc UI) hoặc không (NotAllowedError).Thông tin chi tiết, theo ngữ cảnh, ví dụ: "Người dùng này vừa đăng nhập bằng mật khẩu trên một thiết bị có khả năng dùng passkey mà họ thường sử dụng."
Lợi thế chínhKiểm tra rất nhanh, gốc với chi phí mạng tối thiểu.Tính khả dụng toàn cầu, độc lập với sự hỗ trợ của trình duyệt/HĐH cho các tính năng WebAuthn mới. Thông tin sâu hơn cho UX phù hợp hơn.
Phụ thuộc chínhYêu cầu trình duyệt và HĐH cập nhật, điều này chưa phổ biến.Tích hợp với một dịch vụ backend.

Passkey Intelligence đi một bước xa hơn bằng cách thu thập và đánh giá dữ liệu theo thời gian. Điều này cho phép các can thiệp người dùng tinh vi và kịp thời hơn. Ví dụ, một backend Passkey Intelligence có thể phát hiện:

  • Một người dùng xác thực thành công bằng mật khẩu trên một thiết bị mới, có khả năng dùng passkey và nhắc họ thêm passkey cho lần sau.
  • Một người dùng hoàn thành đăng nhập "hybrid" chéo thiết bị và ngay lập tức đề nghị họ đăng ký thiết bị mới.
  • Một người dùng không đăng nhập được trên một thiết bị mới và đề nghị tạo passkey như một tùy chọn khôi phục hoặc thiết lập (tự động khắc phục).

Cách tiếp cận dựa trên dữ liệu này độc lập với sự hỗ trợ của trình duyệt cho mediation: 'immediate', có nghĩa là nó có thể cung cấp một luồng đăng nhập thông minh hơn cho tất cả người dùng của bạn, ngay bây giờ.

Sự kết hợp hoàn hảo

Cuối cùng, hai cách tiếp cận này không loại trừ lẫn nhau; chúng bổ sung cho nhau. Giải pháp lý tưởng kết hợp chúng:

  1. Sử dụng dịch vụ Passkey Intelligence làm bộ não của quy trình đăng nhập của bạn.
  2. Dịch vụ sau đó có thể sử dụng mediation: 'immediate' làm một trong những tín hiệu của nó trên các trình duyệt được hỗ trợ để thực hiện kiểm tra ban đầu nhanh chóng.
  3. Dựa trên kết quả—hoặc việc thiếu hỗ trợ cho tính năng—dịch vụ thông minh sau đó có thể sử dụng dữ liệu lịch sử phong phú hơn của mình để điều phối phương án dự phòng hoàn hảo, cho dù đó là hiển thị trường mật khẩu hay đưa ra lời nhắc tạo passkey đúng lúc.

Bằng cách kết hợp tốc độ gốc của mediation: 'immediate' với những hiểu biết sâu sắc của một backend Passkey Intelligence, bạn có thể cung cấp trải nghiệm đăng nhập liền mạch, thích ứng và hiệu quả nhất có thể, nhẹ nhàng hướng dẫn mọi người dùng đến một tương lai không mật khẩu.

9. Tác động kinh doanh của Immediate Mediation#

Immediate Mediation là một bản nâng cấp tuyệt vời cho trải nghiệm đăng nhập. Nó cung cấp sự thông minh cần thiết để loại bỏ các điểm gây rào cản và nhầm lẫn phổ biến cho người dùng trong quá trình chuyển đổi sang passkey.

  • Giảm sự nhầm lẫn của người dùng: Bằng cách cho phép một nút "Đăng nhập" duy nhất, immediate mediation loại bỏ gánh nặng nhận thức cho người dùng. Họ không còn phải nhớ phương thức xác thực nào họ đã thiết lập hoặc chọn từ một danh sách các tùy chọn lộn xộn. Quá trình đăng nhập trở nên đơn giản và trực quan hơn.
  • Ngăn chặn tình trạng hủy bỏ đăng nhập Passkey: Một lý do phổ biến khiến người dùng từ bỏ đăng nhập bằng passkey là sự xuất hiện bất ngờ của mã QR cho một luồng chéo thiết bị. Vì mediation: 'immediate' chỉ tìm kiếm thông tin xác thực cục bộ, nó hoàn toàn tránh được trạng thái khó hiểu này. Thay vì người dùng hủy bỏ luồng, ứng dụng nhận được một tín hiệu rõ ràng (NotAllowedError) để chuyển đổi mượt mà sang một phương thức khác, dẫn đến một hành trình mượt mà hơn.
  • Tạo ra một luồng thông minh, liền mạch: Lợi ích cốt lõi là một trải nghiệm đăng nhập thông minh. Ứng dụng có thể hỏi trình duyệt xem một đăng nhập bằng passkey liền mạch có khả thi không trước khi quyết định hiển thị một giao diện người dùng. Cách tiếp cận "Hỏi, Đừng Ra Lệnh" này đảm bảo người dùng chỉ thấy các lời nhắc có liên quan đến họ. Nó làm cho việc đăng nhập cảm thấy thông minh và thích ứng, củng cố sự tiện lợi của passkey và khuyến khích việc sử dụng chúng liên tục.

10. Kết luận: Immediate Mediation#

Immediate Mediation là một tính năng mới của WebAuthn giúp giải quyết trải nghiệm đăng nhập phân mảnh trong giai đoạn chuyển đổi sang passkey. Nó cho phép tạo ra một nút "Đăng nhập" thông minh duy nhất, có khả năng thích ứng với ngữ cảnh của người dùng, loại bỏ sự nhầm lẫn và rào cản. Mặc dù nó giới thiệu một sự đánh đổi về quyền riêng tư đã được tính toán, nó bao gồm các biện pháp bảo vệ mạnh mẽ để giảm thiểu rủi ro mà không làm ảnh hưởng đến bảo mật cốt lõi của WebAuthn.

Đối với các nhà phát triển, con đường phía trước là cải tiến tăng dần. Xây dựng một trải nghiệm cơ bản vững chắc, và xếp lớp immediate mediation lên trên cho các trình duyệt được hỗ trợ. Việc áp dụng tính năng này là một động thái chiến lược để thúc đẩy việc áp dụng passkey, tăng cường bảo mật, giảm chi phí vận hành và cải thiện tỷ lệ chuyển đổi.

Việc triển khai các luồng xác thực nâng cao này có thể phức tạp. Nền tảng Passkey Doanh nghiệp của Corbado trừu tượng hóa sự phức tạp này. Cơ sở hạ tầng của chúng tôi xử lý việc điều phối luồng tối ưu—bao gồm cả trung gian có điều kiện và immediate—cho phép đội ngũ của bạn triển khai một trải nghiệm xác thực hiện đại, không rào cản một cách tự tin.

Add passkeys to your app in <1 hour with our UI components, SDKs & guides.

Start Free Trial

Share this article


LinkedInTwitterFacebook

Enjoyed this read?

🤝 Join our Passkeys Community

Share passkeys implementation tips and get support to free the world from passwords.

🚀 Subscribe to Substack

Get the latest news, strategies, and insights about passkeys sent straight to your inbox.

Related Articles