Sign up to the Passkey Intelligence Webinar on Oct. 8
Back to Overview

Kiểm thử Trình quản lý Mật khẩu cho Passkeys trên Ứng dụng Gốc

Hướng dẫn toàn diện để kiểm thử passkeys trong các ứng dụng iOS/Android gốc với 1Password, Bitwarden và hơn thế nữa. Bao gồm kế hoạch kiểm thử, các vấn đề thường gặp và chiến lược sẵn sàng cho production.

Vincent Delitz

Vincent

Created: October 2, 2025

Updated: October 4, 2025

3rd party password manager passkey app testing

See the original blog version in English here.

SpecialPromotion Icon

Want to learn how to get +80% Passkey Adoption?
Join our Passkey Intelligence Webinar on October 8.

Join now

1. Giới thiệu: Passkeys trên Ứng dụng Gốc kết hợp với Trình quản lý Mật khẩu của Bên thứ ba#

Với sự ra mắt của iOS 17Android 14, bối cảnh passkey cho các ứng dụng di động gốc đã thay đổi một cách cơ bản. Lần đầu tiên, các trình quản lý mật khẩu của bên thứ ba có thể hoạt động như nhà cung cấp passkey, phá vỡ thế độc quyền của iCloud KeychainGoogle Password Manager. Điều này cho phép người dùng mang theo các giải pháp đáng tin cậy của riêng họ như 1Password, Bitwarden, hoặc Dashlane vào các luồng xác thực của ứng dụng gốc. Mặc dù đây là một thắng lợi lớn cho sự lựa chọn của người dùng, nó cũng mang lại sự phức tạp đáng kể cho các nhà phát triển. Việc triển khai passkey của bạn có thể hoạt động khác nhau trên các trình quản lý mật khẩu khác nhau trong ứng dụng di động gốc. Vì vậy, điều quan trọng là bất kỳ đội ngũ nào cũng phải kiểm thử passkeys trên ứng dụng gốc và các trình quản lý mật khẩu của bên thứ ba một cách đúng đắn.

Hướng dẫn toàn diện này chia sẻ phương pháp đã được kiểm chứng qua thực tế của chúng tôi về việc kiểm thử passkey trên ứng dụng gốc với các trình quản lý mật khẩu của bên thứ ba. Mặc dù hệ sinh thái passkey đã trưởng thành đáng kể vào năm 2025, việc triển khai trong thực tế vẫn đòi hỏi sự xác thực cẩn thận trên các cách triển khai trình quản lý mật khẩu đa dạng. Chúng tôi đã đúc kết kinh nghiệm của mình thành một kế hoạch kiểm thử thực tế để đảm bảo ứng dụng gốc của bạn hoạt động liền mạch với các trình quản lý mật khẩu ưa thích của người dùng.

SpecialPromotion Icon

Want to learn how to get +80% Passkey Adoption?
Join our Passkey Intelligence Webinar on October 8.

Join now

2. Tại sao việc Kiểm thử Passkey lại quan trọng trong Môi trường Production#

2.1 Người dùng sử dụng Trình quản lý Mật khẩu của riêng họ#

Hệ sinh thái trình quản lý mật khẩu đã phát triển vượt ra ngoài các giải pháp gốc của nền tảng. Người dùng chủ động chọn các trình quản lý mật khẩu của bên thứ ba như 1Password, Bitwarden, Dashlane, Proton Pass và NordPass dựa trên nhu cầu cụ thể của họ, chẳng hạn như đồng bộ hóa đa nền tảng, các tính năng doanh nghiệp hoặc tùy chọn về quyền riêng tư. Ứng dụng iOS / Android gốc của bạn phải đáp ứng sự đa dạng này mà không buộc người dùng phải chuyển đổi giải pháp quản lý mật khẩu đáng tin cậy của họ.

Dựa trên dữ liệu chúng tôi đo lường trên các trang của Corbado, chúng tôi thấy rằng chỉ 5-10% người dùng phổ thông dựa vào các trình quản lý mật khẩu của bên thứ ba. Mặc dù con số này nghe có vẻ thấp, nó sẽ có tác động rất lớn đến nhận thức về việc triển khai passkey của bạn và số lượng ticket hỗ trợ nếu bạn đang làm việc trong một môi trường quy mô lớn. Chúng tôi đã thấy rằng một số trình quản lý mật khẩu triển khai đặc tả WebAuthn hơi khác một chút, dẫn đến những khác biệt nhỏ trong trải nghiệm người dùng hoặc thậm chí là lỗi.

2.2 Các Mẫu UX khác nhau trong Ứng dụng Gốc#

Các ứng dụng gốc của iOSAndroid cung cấp các cách sử dụng passkey khác nhau. Trên Android, bạn sẽ gặp các lớp phủ passkey (passkey overlays) và các trường nhập văn bản thủ công để kích hoạt quy trình passkey (đối với ứng dụng web, Android cũng hỗ trợ Conditional UI). iOS có lớp phủ passkey riêng cùng với Conditional UI và cả các trường nhập văn bản thủ công. Hơn nữa, có những trường hợp đặc biệt khác cần kiểm tra. Tóm lại, ứng dụng gốc của bạn phải xử lý mượt mà các trường hợp sau:

  • Đăng nhập bằng lớp phủ passkey xuất hiện ngay khi tải trang
  • Đăng nhập bằng Conditional UI (chỉ có trên iOS) tự động gợi ý các passkey có sẵn
  • Đăng nhập qua trường văn bản nơi người dùng cung cấp tên người dùng trước khi nhấp vào một nút
  • Xác thực chéo thiết bị (CDA) để sử dụng passkey với một thiết bị khác
  • Cơ chế dự phòng khi không thể sử dụng passkey

2.3 Cờ WebAuthn đòi hỏi sự chính xác#

Cấu hình cờ đúng đắn quyết định liệu passkeys có hoạt động như mong đợi trên các thiết bị và nền tảng hay không. Các giá trị quan trọng bao gồm:

  • Relying Party ID (rpID): Phải khớp chính xác giữa các lần triển khai web và ứng dụng gốc và là tên miền mà passkey được liên kết
  • User verification (xác minh người dùng): Xác định rằng người dùng cần cung cấp phương thức xác thực cục bộ của họ
  • Resident key/discoverable credentials (khóa thường trú/thông tin xác thực có thể khám phá): Cho phép xác thực không cần tên người dùng (hỗ trợ Conditional UI)
  • Backup eligibility (BE) và backup state (BS): Cho phép đồng bộ hóa passkeys chéo thiết bị

Việc cấu hình cờ sai không phải lúc nào cũng gây ra lỗi ngay lập tức. Tuy nhiên, chúng có thể tạo ra các vấn đề khó nhận thấy và sự không nhất quán, ví dụ như passkeys có sẵn trên một thiết bị nhưng không được đồng bộ hóa trên các thiết bị khác (mặc dù cùng một trình quản lý mật khẩu của bên thứ ba có thể có sẵn trên cả hai thiết bị). Một trong những phát hiện của chúng tôi trong các bài kiểm thử là một số trình quản lý mật khẩu của bên thứ ba đã đặt cờ BE/BS không chính xác và chiếm một phần lớn các vấn đề về passkey.

2.4 Quản lý Vòng đời trong Ứng dụng Đơn thể (Single-Instance)#

Các kiến trúc single-activity (Android) và single-scene (iOS) đòi hỏi việc quản lý vòng đời một cách tỉ mỉ. Khi một bảng (sheet) của trình quản lý mật khẩu xuất hiện và bị đóng, ứng dụng của bạn phải giữ nguyên trạng thái, xử lý các lệnh gọi lại (callback) và tiếp tục hoạt động một cách chính xác. Điều này đặc biệt quan trọng trên Android, nơi cấu hình launchMode có thể gây ra hành vi không mong muốn.

Ví dụ, chúng tôi phát hiện ra rằng việc đặt MainActivity thành launchMode="singleInstance" đã tạo ra vấn đề. Trên một số phiên bản Android và các tùy chỉnh của nhà sản xuất (OEM), chế độ này khiến giao diện người dùng Passkey Credential Manager mở ra như một tác vụ riêng biệt. Điều này không chỉ thêm một mục ứng dụng khó hiểu, bổ sung vào màn hình "Ứng dụng gần đây" mà còn có thể khiến ứng dụng bị treo nếu nó được đưa xuống nền trong khi hộp thoại passkey đang mở.

Cách khắc phục được đề xuất là thay đổi cấu hình thành launchMode="singleTask". Điều này ngăn Credential Manager tạo ra một tác vụ riêng biệt, đảm bảo vòng đời dễ dự đoán hơn trên các OEM khác nhau (Samsung, Google, Vivo, v.v.) và giảm nguy cơ xảy ra lỗi cụ thể của nhà cung cấp. Nó cung cấp một nền tảng ổn định hơn để kiểm thử điều hướng, các lớp phủ và deeplink.

Chúng tôi đã quan sát thấy rằng các vấn đề về vòng đời như vậy thường bị nhầm lẫn là "lỗi của trình quản lý mật khẩu" trong khi thực chất chúng là vấn đề ở cấp độ ứng dụng. Việc sử dụng công cụ đo lường và kiểm thử đúng cách trên các nhà cung cấp khác nhau giúp xác định sớm các mẫu này.

3. Thiết lập Môi trường Kiểm thử của bạn#

3.1 Các Trình quản lý Mật khẩu mục tiêu#

Tập trung việc kiểm thử passkey trên ứng dụng gốc của bạn vào các trình quản lý mật khẩu của bên thứ ba được sử dụng rộng rãi nhất:

Mục tiêu chính (mức độ bao phủ thiết yếu):

Mục tiêu phụ (dựa trên cơ sở người dùng của bạn):

  • Các nhà cung cấp khu vực (ví dụ: Samsung Pass cho các thiết bị Samsung)
  • Các giải pháp doanh nghiệp nếu nhắm đến người dùng doanh nghiệp
  • Các giải pháp mặc định của nền tảng (Google Password Manager, iCloud Keychain) làm cơ sở so sánh

Tránh sa đà vào việc kiểm thử mọi trình quản lý mật khẩu có sẵn. Hãy tập trung vào các nhà cung cấp chiếm 90% cơ sở người dùng của bạn. Dữ liệu phân tích của chúng tôi cho thấy năm mục tiêu chính đã bao phủ 85% người dùng trình quản lý mật khẩu của bên thứ ba ở EU/USA/UK/AUS/NZ.

3.2 Danh sách kiểm tra trước khi bắt đầu#

Trước khi bắt đầu mỗi lần chạy kiểm thử, hãy đảm bảo một môi trường sạch sẽ, có thể tái tạo:

1. Dọn dẹp trạng thái thông tin xác thực:

  • Xóa tất cả thông tin xác thực hiện có cho RP ID của bạn
  • Xóa bộ nhớ đệm của trình duyệt và ứng dụng
  • Đăng xuất hoàn toàn và đăng nhập lại vào trình quản lý mật khẩu
  • Buộc đóng và khởi chạy lại ứng dụng mục tiêu

2. Ổn định môi trường kiểm thử:

  • Đảm bảo kết nối mạng ổn định (không dùng VPN trong quá trình kiểm thử)
  • Tắt hoạt ảnh giao diện người dùng nếu tự động hóa các bài kiểm thử
  • Sử dụng hướng thiết bị nhất quán
  • Ghi lại phiên bản HĐH, phiên bản ứng dụng và phiên bản trình quản lý mật khẩu

4. Kế hoạch Kiểm thử toàn diện#

Mỗi bài kiểm thử xác thực các khía cạnh cụ thể của chức năng passkey. Ghi lại kết quả một cách có hệ thống bằng trạng thái đạt/không đạt và ghi chú chi tiết cho bất kỳ sự bất thường nào.

4.1 Kiểm thử Luồng Xác thực Cốt lõi#

Bài kiểm thử 1: Hủy tạo Passkey (sau khi Đăng nhập thông thường thành công)#

Xác thực việc xử lý hủy bỏ một cách mượt mà

✓ Bảng của trình quản lý mật khẩu mở ra chính xác ✓ Người dùng hủy bỏ mà không tạo passkey ✓ Ứng dụng quay trở lại màn hình đăng nhập ✓ Không có thông tin xác thực mồ côi trong trình quản lý mật khẩu ✓ Giao diện người dùng hiển thị các tùy chọn thử lại phù hợp

Bài kiểm thử 2: Tạo Passkey (sau khi Đăng nhập thông thường thành công)#

Xác minh việc tạo passkey sau luồng xác thực

✓ Xác thực cục bộ khởi chạy một cách đáng tin cậy ✓ Xác thực sinh trắc học hoàn tất thành công ✓ Thông tin xác thực được tạo với RP ID chính xác ✓ Ứng dụng chuyển sang trạng thái đã xác thực mà không bị lặp

Bài kiểm thử 3: Xác thực bằng Passkey hiện có#

Kiểm thử các kịch bản xác thực tiêu chuẩn

✓ Giao diện lớp phủ Passkey xuất hiện hoặc người dùng cung cấp tên người dùng trong kịch bản trường văn bản ✓ Quét sinh trắc học và một lời nhắc sinh trắc học duy nhất dẫn đến xác thực thành công ✓ Không có vòng lặp lựa chọn hoặc bảng xuất hiện lại ✓ Phiên làm việc vẫn ổn định sau khi xác thực

Bài kiểm thử 4: Tạo Passkey từ Cài đặt#

Xác thực việc quản lý passkey trong ứng dụng

✓ RP ID, khả năng khám phá và cờ BE/BS chính xác ✓ Ứng dụng vẫn ở trạng thái xác thực sau khi tạo ✓ Trình quản lý mật khẩu cập nhật ngay lập tức với các nhãn chính xác

Bài kiểm thử 5: Xóa passkey và thử đăng nhập lại#

Kiểm thử việc quản lý vòng đời thông tin xác thực

Xóa passkey trong cài đặt ✓ Không thể đăng nhập bằng passkey ✓ Tùy chọn dự phòng phù hợp được cung cấp

4.2 Kiểm thử Tương thích Đa nền tảng#

Bài kiểm thử 6: Sử dụng Passkey tạo trên ứng dụng gốc trong Web (Cùng thiết bị)#

Xác thực khả năng chuyển đổi từ ứng dụng sang web

✓ Trình duyệt nhận dạng các passkey do ứng dụng tạo ✓ Bảng lựa chọn hiển thị liên kết RP chính xác ✓ Xác thực hoàn tất mà không cần dùng đến QR/CDA

Bài kiểm thử 7: Sử dụng Passkey tạo trên Web trong Ứng dụng Gốc#

Kiểm thử việc chia sẻ thông tin xác thực từ web sang ứng dụng

✓ Ứng dụng hiển thị thông tin xác thực do web tạo trong phần lựa chọn ✓ Xác thực thành công ngay lần thử đầu tiên ✓ Không bị buộc phải quay lại dùng mật khẩu

Bài kiểm thử 8: Đồng bộ hóa chéo thiết bị (Di động sang Máy tính)#

Xác minh việc đồng bộ hóa passkey từ ứng dụng gốc sang trình duyệt máy tính

✓ Passkey do ứng dụng tạo đồng bộ hóa với trình quản lý mật khẩu trên máy tính ✓ Passkey đã đồng bộ hoạt động liền mạch trong trình duyệt máy tính ✓ Không kích hoạt luồng mã QR / chéo thiết bị ✓ Xác thực hoàn tất mà không có vòng lặp hoặc lỗi

Bài kiểm thử 9: Đồng bộ hóa chéo thiết bị (Máy tính sang Di động)#

Xác minh việc đồng bộ hóa passkey từ trình duyệt máy tính sang ứng dụng gốc

✓ Passkey do máy tính tạo đồng bộ hóa với trình quản lý mật khẩu di động ✓ Ứng dụng gốc hiển thị chính xác passkey đã đồng bộ ✓ Xác thực thành công mà không cần dùng mật khẩu dự phòng ✓ Log ghi nhận assertion khớp với credential ID chính xác

Bài kiểm thử 10: Di động làm Thiết bị xác thực cho Web#

Xác thực các kịch bản điện thoại-như-khóa-bảo-mật

✓ Điện thoại cung cấp thông tin xác thực do ứng dụng tạo cho CDA trên web ✓ Không có lỗi sai "không có passkey nào" ✓ Phiên làm việc trên web hoàn tất sau khi xác thực sinh trắc học trên di động

5. Các vấn đề thường gặp và Chiến lược giảm thiểu#

Quá trình kiểm thử sâu rộng của chúng tôi đã tiết lộ một số mẫu lặp đi lặp lại ảnh hưởng đến việc tích hợp passkey của trình quản lý mật khẩu của bên thứ ba:

Độ trễ khi đồng bộ hóa chéo thiết bị#

Vấn đề: Thông tin xác thực được tạo trên một thiết bị có thể không xuất hiện ngay lập tức trên các thiết bị khác.

Giải pháp: Triển khai logic thử lại với thời gian chờ tăng theo cấp số nhân. Cung cấp tùy chọn làm mới thủ công cho người dùng gặp phải độ trễ đồng bộ hóa.

Hành vi khác nhau tùy theo phiên bản#

Vấn đề: Hành vi của trình quản lý mật khẩu thay đổi đáng kể giữa các phiên bản hệ điều hành, đặc biệt là trên Android 14+ và iOS 17+.

Giải pháp: Duy trì một ma trận tương thích và điều chỉnh các luồng dựa trên phiên bản HĐH được phát hiện. Cân nhắc các yêu cầu phiên bản tối thiểu để có trải nghiệm tối ưu.

Slack Icon

Become part of our Passkeys Community for updates & support.

Join

7. Kết luận: Xây dựng Hỗ trợ Passkey Sẵn sàng cho Production#

Việc triển khai thành công hỗ trợ passkey từ trình quản lý mật khẩu của bên thứ ba trong các ứng dụng gốc đòi hỏi sự kiểm thử có phương pháp và chú ý đến chi tiết. Kế hoạch kiểm thử toàn diện của chúng tôi, được tinh chỉnh qua quá trình kiểm thử trong thế giới thực, cung cấp một nền tảng vững chắc để xác thực việc tích hợp passkey của bạn.

Những điểm chính cần nhớ để triển khai trong môi trường production:

  1. Kiểm thử một cách có hệ thống: Sử dụng kế hoạch kiểm thử của chúng tôi làm cơ sở, điều chỉnh nó cho phù hợp với các trường hợp sử dụng cụ thể của bạn
  2. Tôn trọng lựa chọn của người dùng: Hỗ trợ các trình quản lý mật khẩu mà người dùng của bạn ưa thích, không chỉ các giải pháp mặc định của nền tảng
  3. Giám sát liên tục: Triển khai ghi log toàn diện để phát hiện các trường hợp đặc biệt trong môi trường production
  4. Ghi chép kỹ lưỡng: Duy trì hồ sơ rõ ràng về các hành vi cụ thể của từng nhà cung cấp và các giải pháp tạm thời

Hệ sinh thái passkey tiếp tục phát triển nhanh chóng. Các trình quản lý mật khẩu thường xuyên cập nhật việc triển khai của họ, các hệ điều hành giới thiệu các tính năng mới và bản thân đặc tả WebAuthn cũng tiến bộ. Bằng cách thiết lập một khung kiểm thử mạnh mẽ ngay từ bây giờ, bạn sẽ chuẩn bị sẵn sàng để thích ứng khi công nghệ trưởng thành.

Chúng tôi sẽ tiếp tục cập nhật SDK và phương pháp kiểm thử của mình khi các mẫu mới xuất hiện. Việc đầu tư vào kiểm thử toàn diện các trình quản lý mật khẩu của bên thứ ba sẽ mang lại lợi ích lớn trong việc giảm gánh nặng hỗ trợ và cải thiện sự hài lòng của người dùng. Suy cho cùng, xác thực chỉ đơn giản là phải hoạt động được - bất kể người dùng của bạn chọn trình quản lý mật khẩu nào.

Learn more about our enterprise-grade passkey solution.

Learn more

Share this article


LinkedInTwitterFacebook

Table of Contents