Các nghiên cứu điển hình

Zoho đạt được tốc độ đăng nhập nhanh hơn gấp 6 lần nhờ tích hợp Khoá truy cập và Trình quản lý thông tin xác thực

10 phút đọc

Là nhà phát triển Android, bạn luôn tìm cách nâng cao tính bảo mật, cải thiện trải nghiệm người dùng và đơn giản hoá quá trình phát triển. Zoho, một bộ phần mềm toàn diện dựa trên đám mây tập trung vào tính bảo mật và trải nghiệm liền mạch, đã đạt được những cải tiến đáng kể bằng cách áp dụng khoá truy cập trong ứng dụng Android OneAuth.

Kể từ khi tích hợp khoá truy cập vào năm 2024, Zoho đã đạt được tốc độ đăng nhập nhanh hơn gấp 6 lần so với các phương thức trước đây và mức tăng trưởng 31% so với tháng trước (MoM) trong việc áp dụng khoá truy cập.

Nghiên cứu điển hình này xem xét việc Zoho áp dụng khoá truy cập và Credential Manager API của Android để giải quyết các khó khăn trong quá trình xác thực. Nghiên cứu này trình bày chi tiết quy trình triển khai kỹ thuật và nêu bật những kết quả có tác động.

Vượt qua các thách thức về xác thực

Zoho sử dụng kết hợp các phương thức xác thực để bảo vệ tài khoản người dùng. Trong đó có Zoho OneAuth, giải pháp xác thực đa yếu tố (MFA) của riêng họ, hỗ trợ cả phương thức xác thực dựa trên mật khẩu và không cần mật khẩu bằng cách sử dụng thông báo đẩy, mã QR và mật khẩu dùng một lần dựa trên thời gian (TOTP). Zoho cũng hỗ trợ đăng nhập liên kết, cho phép xác thực thông qua Ngôn ngữ đánh dấu xác nhận bảo mật (SAML) và các nhà cung cấp danh tính bên thứ ba khác.

Thử thách

Giống như nhiều tổ chức, Zoho hướng đến mục tiêu cải thiện tính bảo mật của quy trình xác thực và trải nghiệm người dùng, đồng thời giảm gánh nặng về hoạt động. Các thách thức chính dẫn đến việc áp dụng khoá truy cập bao gồm:

  • Lỗ hổng bảo mật: Các phương thức truyền thống dựa trên mật khẩu khiến người dùng dễ bị tấn công giả mạo và rò rỉ mật khẩu.
  • Gây khó khăn cho người dùng: Việc mệt mỏi vì mật khẩu dẫn đến tình trạng quên mật khẩu, gây khó chịu và tăng sự phụ thuộc vào các quy trình khôi phục phức tạp.
  • Hiệu quả hoạt động kém: Việc xử lý các vấn đề về đặt lại mật khẩu và MFA tạo ra chi phí hỗ trợ đáng kể.
  • Lo ngại về khả năng mở rộng: Cơ sở người dùng ngày càng tăng đòi hỏi một giải pháp xác thực an toàn và hiệu quả hơn.

Tại sao nên chuyển sang khoá truy cập?

Khoá truy cập được triển khai trong các ứng dụng của Zoho để giải quyết các thách thức về xác thực bằng cách cung cấp một phương thức không cần mật khẩu, giúp cải thiện đáng kể tính bảo mật và trải nghiệm người dùng. Giải pháp này tận dụng tính năng xác thực chống tấn công giả mạo, thông tin xác thực được đồng bộ hoá trên đám mây để dễ dàng truy cập trên nhiều thiết bị và dữ liệu sinh trắc học (chẳng hạn như vân tay hoặc nhận dạng khuôn mặt), mã PIN hoặc hình mở khoá để đăng nhập an toàn, từ đó giảm các lỗ hổng và sự bất tiện liên quan đến mật khẩu truyền thống.

Bằng cách áp dụng khoá truy cập với Trình quản lý thông tin xác thực, Zoho đã giảm thời gian đăng nhập xuống gấp 6 lần, giảm chi phí hỗ trợ liên quan đến mật khẩu và nhận thấy tỷ lệ áp dụng của người dùng caotăng gấp đôi số lượt đăng nhập bằng khoá truy cập trong 4 tháng với mức tăng trưởng 31% so với tháng trước. Giờ đây, người dùng Zoho có thể tận hưởng tính bảo mật chống tấn công giả mạo và quy trình đăng nhập nhanh hơn, dễ dàng hơn.

ANDDM_Zoho_Quote_fabrice.png

Triển khai bằng Trình quản lý thông tin xác thực trên Android

Vậy Zoho đã đạt được những kết quả này như thế nào? Họ đã sử dụng Credential Manager API của Android, thư viện Jetpack được đề xuất để triển khai tính năng xác thực trên Android.

Trình quản lý thông tin xác thực cung cấp một API hợp nhất giúp đơn giản hoá việc xử lý các phương thức xác thực khác nhau. Thay vì phải xử lý nhiều API cho mật khẩu, khoá truy cập và đăng nhập liên kết (như Đăng nhập bằng Google), bạn chỉ cần sử dụng một giao diện duy nhất.

Việc triển khai khoá truy cập tại Zoho đòi hỏi phải điều chỉnh cả phía ứng dụng và phía máy chủ. Sau đây là thông tin chi tiết về quy trình tạo khoá truy cập, đăng nhập và triển khai phía máy chủ.

Tạo khoá truy cập

passkey.png

Để tạo khoá truy cập, trước tiên, ứng dụng sẽ truy xuất thông tin chi tiết về cấu hình từ máy chủ của Zoho. Quy trình này bao gồm một quy trình xác minh duy nhất, chẳng hạn như vân tay hoặc công nghệ nhận dạng khuôn mặt. Dữ liệu xác minh này, được định dạng dưới dạng chuỗi requestJson), được ứng dụng sử dụng để tạo CreatePublicKeyCredentialRequest. Sau đó, ứng dụng sẽ gọi phương thức credentialManager.createCredential, nhắc người dùng xác thực bằng phương thức khoá màn hình thiết bị (sinh trắc học, vân tay, mã PIN, v.v.).

Sau khi người dùng xác nhận thành công, ứng dụng sẽ nhận được dữ liệu thông tin xác thực khoá truy cập mới, gửi lại dữ liệu đó đến máy chủ của Zoho để xác minh. Sau đó, máy chủ sẽ lưu trữ thông tin khoá truy cập được liên kết với tài khoản của người dùng. Ứng dụng sẽ nắm bắt và xử lý các trường hợp lỗi hoặc người dùng huỷ trong quá trình này.

Đăng nhập

Ứng dụng Android Zoho bắt đầu quy trình đăng nhập bằng khoá truy cập bằng cách yêu cầu các lựa chọn đăng nhập, bao gồm cả challenge duy nhất, từ máy chủ phụ trợ của Zoho. Sau đó, ứng dụng sẽ sử dụng dữ liệu này để tạo GetCredentialRequest, cho biết rằng ứng dụng sẽ xác thực bằng khoá truy cập. Sau đó, ứng dụng sẽ gọi API CredentialManager.getCredential() của Android bằng yêu cầu này. Hành động này kích hoạt một giao diện hệ thống Android được tiêu chuẩn hoá, nhắc người dùng chọn tài khoản Zoho của họ (nếu có nhiều khoá truy cập) và xác thực bằng phương thức khoá màn hình đã định cấu hình của thiết bị (vân tay, quét khuôn mặt hoặc mã PIN). Sau khi xác thực thành công, Trình quản lý thông tin xác thực sẽ trả về một câu lệnh đã ký (bằng chứng đăng nhập) cho ứng dụng Zoho. Ứng dụng này chuyển tiếp câu lệnh này đến máy chủ của Zoho. Máy chủ này sẽ xác minh chữ ký dựa trên khoá công khai đã lưu trữ của người dùng và xác thực thử thách, hoàn tất quy trình đăng nhập an toàn.

Triển khai phía máy chủ

Việc chuyển đổi sang hỗ trợ khoá truy cập của Zoho được hưởng lợi từ các hệ thống phụ trợ đã tuân thủ FIDO WebAuthn, giúp đơn giản hoá quy trình triển khai phía máy chủ. Tuy nhiên, vẫn cần phải sửa đổi cụ thể để tích hợp đầy đủ chức năng khoá truy cập.

Thử thách quan trọng nhất liên quan đến việc điều chỉnh hệ thống lưu trữ thông tin xác thực. Các phương thức xác thực hiện có của Zoho, chủ yếu sử dụng mật khẩu và khoá bảo mật FIDO để xác thực đa yếu tố, yêu cầu các phương pháp lưu trữ khác với khoá truy cập (dựa trên khoá công khai mã hoá). Để giải quyết vấn đề này, Zoho đã triển khai một lược đồ cơ sở dữ liệu mới được thiết kế riêng để lưu trữ an toàn các khoá công khai khoá truy cập và dữ liệu liên quan theo giao thức WebAuthn. Hệ thống mới này được xây dựng cùng với cơ chế tra cứu để xác thực và truy xuất thông tin xác thực dựa trên thông tin về người dùng và thiết bị, đảm bảo khả năng tương thích ngược với các phương thức xác thực cũ hơn.

Một điều chỉnh khác ở phía máy chủ liên quan đến việc triển khai khả năng xử lý các yêu cầu từ thiết bị Android. Các yêu cầu về khoá truy cập bắt nguồn từ ứng dụng Android sử dụng một định dạng nguồn gốc duy nhất (android:apk-key-hash:example) khác với các nguồn gốc web tiêu chuẩn sử dụng định dạng dựa trên URI (https://example.com/app). Cần phải cập nhật logic máy chủ để phân tích cú pháp chính xác định dạng này, trích xuất hàm băm vân tay SHA-256 của chứng chỉ ký ứng dụng và xác thực hàm băm đó dựa trên danh sách đã đăng ký trước. Bước xác minh này đảm bảo rằng các yêu cầu xác thực thực sự bắt nguồn từ ứng dụng Android của Zoho và bảo vệ khỏi các cuộc tấn công giả mạo.

Đoạn mã này minh hoạ cách máy chủ kiểm tra định dạng nguồn gốc dành riêng cho Android và xác thực hàm băm chứng chỉ:

  val origin: String = clientData.getString("origin")

if (origin.startsWith("android:apk-key-hash:")) { 
    val originSplit: List<String> = origin.split(":")
    if (originSplit.size > 3) {
               val androidOriginHashDecoded: ByteArray = Base64.getDecoder().decode(originSplit[3])

                if (!androidOriginHashDecoded.contentEquals(oneAuthSha256FingerPrint)) {
            throw IAMException(IAMErrorCode.WEBAUTH003)
        }
    } else {
        // Optional: Handle the case where the origin string is malformed    }
}

Xử lý lỗi

Zoho đã triển khai các cơ chế xử lý lỗi hữu ích để quản lý cả lỗi mà người dùng gặp phải và lỗi mà nhà phát triển gặp phải. Một lỗi thường gặp, CreateCredentialCancellationException, xuất hiện khi người dùng huỷ thiết lập khoá truy cập theo cách thủ công. Zoho đã theo dõi tần suất xảy ra lỗi này để đánh giá các điểm cải thiện tiềm năng về trải nghiệm người dùng. Dựa trên các đề xuất về trải nghiệm người dùng của Android, Zoho đã thực hiện các bước để hướng dẫn người dùng về khoá truy cập, đảm bảo người dùng biết về tính năng khoá truy cập và khuyến khích người dùng áp dụng khoá truy cập trong các lần đăng nhập tiếp theo.

Ví dụ về mã này minh hoạ phương pháp của Zoho về cách họ xử lý các lỗi tạo khoá truy cập phổ biến nhất:

  private fun handleFailure(e: CreateCredentialException) {
    val msg = when (e) {
        is CreateCredentialCancellationException -> {
            Analytics.addAnalyticsEvent(eventProtocol: "PASSKEY_SETUP_CANCELLED", GROUP_NAME)
            Analytics.addNonFatalException(e)
            "The operation was canceled by the user."
        }
        is CreateCredentialInterruptedException -> {
            Analytics.addAnalyticsEvent(eventProtocol: "PASSKEY_SETUP_INTERRUPTED", GROUP_NAME)
            Analytics.addNonFatalException(e)
            "Passkey setup was interrupted. Please try again."
        }
        is CreateCredentialProviderConfigurationException -> {
            Analytics.addAnalyticsEvent(eventProtocol: "PASSKEY_PROVIDER_MISCONFIGURED", GROUP_NAME)
            Analytics.addNonFatalException(e)
            "Credential provider misconfigured. Contact support."
        }
        is CreateCredentialUnknownException -> {
            Analytics.addAnalyticsEvent(eventProtocol: "PASSKEY_SETUP_UNKNOWN_ERROR", GROUP_NAME)
            Analytics.addNonFatalException(e)
            "An unknown error occurred during Passkey setup."
        }
        is CreatePublicKeyCredentialDomException -> {
            Analytics.addAnalyticsEvent(eventProtocol: "PASSKEY_WEB_AUTHN_ERROR", GROUP_NAME)
            Analytics.addNonFatalException(e)
            "Passkey creation failed: ${e.domError}"
        }
        else -> {
            Analytics.addAnalyticsEvent(eventProtocol: "PASSKEY_SETUP_FAILED", GROUP_NAME)
            Analytics.addNonFatalException(e)
            "An unexpected error occurred. Please try again."
        }
    }
}

Kiểm thử khoá truy cập trong môi trường mạng nội bộ

Zoho gặp phải một thách thức ban đầu trong việc kiểm thử khoá truy cập trong môi trường mạng nội bộ khép kín. Quy trình xác minh của Trình quản lý mật khẩu của Google đối với khoá truy cập yêu cầu quyền truy cập vào miền công khai để xác thực miền bên dựa vào (RP). Tuy nhiên, môi trường kiểm thử nội bộ của Zoho thiếu quyền truy cập Internet công khai này, khiến quy trình xác minh không thành công và cản trở việc kiểm thử xác thực khoá truy cập thành công. Để khắc phục vấn đề này, Zoho đã tạo một môi trường thử nghiệm có thể truy cập công khai, bao gồm cả việc lưu trữ một máy chủ tạm thời có tệp liên kết đến tài sản và xác thực miền.

Ví dụ này từ tệp assetlinks.json được sử dụng trong môi trường thử nghiệm công khai của Zoho minh hoạ cách liên kết miền bên dựa vào với ứng dụng Android được chỉ định để xác thực khoá truy cập.

  [
    {
        "relation": [
            "delegate_permission/common.handle_all_urls",
            "delegate_permission/common.get_login_creds"
        ],
        "target": {
            "namespace": "android_app",
            "package_name": "com.zoho.accounts.oneauth",
            "sha256_cert_fingerprints": [
                "SHA_HEX_VALUE" 
            ]
        }
    }
]

Tích hợp với máy chủ FIDO hiện có

Hệ thống khoá truy cập của Android sử dụng tiêu chuẩn FIDO2 WebAuthn hiện đại. Tiêu chuẩn này yêu cầu các yêu cầu ở định dạng JSON cụ thể, giúp duy trì tính nhất quán giữa các ứng dụng gốc và nền tảng web. Để bật tính năng hỗ trợ khoá truy cập Android, Zoho đã thực hiện các thay đổi nhỏ về khả năng tương thích và cấu trúc để tạo và xử lý chính xác các yêu cầu tuân thủ cấu trúc JSON FIDO2 bắt buộc.

Bản cập nhật máy chủ này bao gồm một số điều chỉnh kỹ thuật cụ thể:

1. Chuyển đổi mã hoá: Máy chủ chuyển đổi mã hoá URL Base64 (thường dùng trong WebAuthn cho các trường như mã thông tin xác thực) thành mã hoá Base64 tiêu chuẩn trước khi lưu trữ dữ liệu liên quan. Đoạn mã bên dưới cho biết cách mã hoá rawId thành Base64 tiêu chuẩn:

  // Convert rawId bytes to a standard Base64 encoded string for storage
val base64RawId: String = Base64.getEncoder().encodeToString(rawId.toByteArray())

2. Định dạng danh sách vận chuyển: Để đảm bảo xử lý dữ liệu nhất quán, logic máy chủ xử lý danh sách các cơ chế vận chuyển (chẳng hạn như USB, NFC và Bluetooth, chỉ định cách trình xác thực giao tiếp) dưới dạng mảng JSON.

3. Căn chỉnh dữ liệu ứng dụng: Nhóm Zoho đã điều chỉnh cách máy chủ mã hoá và giải mã trường clientDataJson. Điều này đảm bảo cấu trúc dữ liệu căn chỉnh chính xác với kỳ vọng của các API nội bộ hiện có của Zoho. Ví dụ bên dưới minh hoạ một phần logic chuyển đổi được áp dụng cho dữ liệu ứng dụng trước khi máy chủ xử lý dữ liệu đó:

  private fun convertForServer(type: String): String {
    val clientDataBytes = BaseEncoding.base64().decode(type)
    val clientDataJson = JSONObject(String(clientDataBytes, StandardCharsets.UTF_8))
    val clientJson = JSONObject()
    val challengeFromJson = clientDataJson.getString("challenge")
    // 'challenge' is a technical identifier/token, not localizable text.
    clientJson.put("challenge", BaseEncoding.base64Url()
        .encode(challengeFromJson.toByteArray(StandardCharsets.UTF_8))) 

    clientJson.put("origin", clientDataJson.getString("origin"))
    clientJson.put("type", clientDataJson.getString("type"))
    clientJson.put("androidPackageName", clientDataJson.getString("androidPackageName"))
    return BaseEncoding.base64().encode(clientJson.toString().toByteArray())
}

Hướng dẫn người dùng và lựa chọn xác thực

Một phần quan trọng trong chiến lược khoá truy cập của Zoho là khuyến khích người dùng áp dụng khoá truy cập, đồng thời mang lại sự linh hoạt để phù hợp với các yêu cầu khác nhau của tổ chức. Điều này đạt được thông qua thiết kế giao diện người dùng cẩn thận và các biện pháp kiểm soát chính sách.

Zoho nhận thấy rằng các tổ chức có nhu cầu bảo mật khác nhau. Để đáp ứng nhu cầu này, Zoho đã triển khai:

  • Thực thi của quản trị viên: Thông qua bảng điều khiển quản trị Zoho Directory, quản trị viên có thể chỉ định khoá truy cập là phương thức xác thực bắt buộc, mặc định cho toàn bộ tổ chức của họ. Khi chính sách này được bật, nhân viên phải thiết lập khoá truy cập khi đăng nhập lần tiếp theo và sử dụng khoá truy cập đó trong tương lai.
  • Sự lựa chọn của người dùng: Nếu một tổ chức không thực thi một chính sách cụ thể, thì người dùng cá nhân vẫn có quyền kiểm soát. Họ có thể chọn phương thức xác thực ưu tiên trong quá trình đăng nhập, chọn từ khoá truy cập hoặc các lựa chọn đã định cấu hình khác thông qua chế độ cài đặt xác thực.

Để giúp người dùng cuối dễ dàng và hấp dẫn hơn khi áp dụng khoá truy cập, Zoho đã triển khai:

  • Thiết lập dễ dàng: Zoho đã tích hợp quy trình thiết lập khoá truy cập trực tiếp vào ứng dụng di động Zoho OneAuth (có sẵn cho cả AndroidiOS). Người dùng có thể định cấu hình khoá truy cập một cách thuận tiện trong ứng dụng bất cứ lúc nào, giúp quá trình chuyển đổi diễn ra suôn sẻ.
  • Quyền truy cập nhất quán: Tính năng hỗ trợ khoá truy cập được triển khai trên các điểm tiếp xúc chính của người dùng, đảm bảo người dùng có thể đăng ký và xác thực bằng khoá truy cập thông qua:
  • Ứng dụng di động Zoho OneAuth (Android và iOS);
  • Trang tài khoản web Zoho của họ.

Phương thức này đảm bảo rằng quy trình thiết lập và sử dụng khoá truy cập có thể truy cập và tích hợp vào các nền tảng mà họ đã sử dụng, bất kể quản trị viên có bắt buộc hay người dùng chọn. Bạn có thể tìm hiểu thêm về cách tạo quy trình người dùng mượt mà cho quy trình xác thực bằng khoá truy cập bằng cách khám phá hướng dẫn toàn diện về trải nghiệm người dùng khoá truy cập.

Tác động đến tốc độ của nhà phát triển và hiệu quả tích hợp

Trình quản lý thông tin xác thực, với vai trò là một API hợp nhất, cũng giúp cải thiện năng suất của nhà phát triển so với các quy trình đăng nhập cũ. API này giúp giảm độ phức tạp của việc xử lý nhiều phương thức xác thực và API riêng biệt, dẫn đến quá trình tích hợp nhanh hơn (từ vài tháng xuống còn vài tuần) và ít lỗi triển khai hơn. Điều này giúp đơn giản hoá quy trình đăng nhập và cải thiện độ tin cậy tổng thể.

Bằng cách triển khai khoá truy cập bằng Trình quản lý thông tin xác thực, Zoho đã đạt được những cải tiến đáng kể, có thể đo lường được trên mọi lĩnh vực:

  • Cải thiện đáng kể về tốc độ
    • Đăng nhập nhanh hơn gấp 2 lần so với phương thức xác thực bằng mật khẩu truyền thống.
    • Đăng nhập nhanh hơn gấp 4 lần so với tên người dùng hoặc số điện thoại di động có phương thức xác thực OTP qua email hoặc SMS.
    • Đăng nhập nhanh hơn gấp 6 lần so với tên người dùng, mật khẩu và phương thức xác thực OTP qua SMS hoặc trình xác thực.
  • Giảm chi phí hỗ trợ
    • Giảm yêu cầu hỗ trợ liên quan đến mật khẩu, đặc biệt là đối với mật khẩu bị quên.
    • Giảm chi phí liên quan đến 2FA dựa trên SMS, vì người dùng hiện tại có thể trực tiếp sử dụng khoá truy cập.
  • Tỷ lệ áp dụng cao của người dùng và tính bảo mật nâng cao:
    • Số lượt đăng nhập bằng khoá truy cập tăng gấp đôi chỉ trong 4 tháng, cho thấy tỷ lệ chấp nhận cao của người dùng.
    • Người dùng chuyển sang khoá truy cập được bảo vệ hoàn toàn khỏi các mối đe doạ phổ biến về tấn công giả mạo và rò rỉ mật khẩu.
    • Với mức tăng trưởng 31% so với tháng trước, ngày càng có nhiều người dùng được hưởng lợi từ tính bảo mật nâng cao chống lại các lỗ hổng như tấn công giả mạo và hoán đổi SIM.

Các phương pháp hay nhất và chiến lược đề xuất

Để triển khai thành công khoá truy cập trên Android, nhà phát triển nên cân nhắc các phương pháp hay nhất sau đây:

  • Tận dụng Credential Manager API của Android:
    • Trình quản lý thông tin xác thực giúp đơn giản hoá việc truy xuất thông tin xác thực, giảm bớt nỗ lực của nhà phát triển và đảm bảo trải nghiệm xác thực hợp nhất.
    • Xử lý mật khẩu, khoá truy cập và quy trình đăng nhập liên kết trong một giao diện duy nhất.
  • Đảm bảo tính nhất quán của việc mã hoá dữ liệu trong khi di chuyển từ các giải pháp xác thực FIDO khác:
    • Đảm bảo bạn xử lý định dạng nhất quán cho tất cả dữ liệu đầu vào/đầu ra trong khi di chuyển từ các giải pháp xác thực FIDO khác, chẳng hạn như khoá bảo mật FIDO.
  • Tối ưu hoá việc xử lý lỗi và ghi nhật ký:
    • Triển khai biện pháp xử lý lỗi hữu ích để mang lại trải nghiệm người dùng liền mạch.
    • Cung cấp thông báo lỗi được bản địa hoá và sử dụng nhật ký chi tiết để gỡ lỗi và giải quyết các lỗi không mong muốn.
  • Hướng dẫn người dùng về các tùy chọn khôi phục khoá truy cập:
    • Ngăn chặn các tình huống bị khoá bằng cách chủ động hướng dẫn người dùng về các tùy chọn khôi phục.
  • Theo dõi các chỉ số áp dụng và ý kiến phản hồi của người dùng:
    • Theo dõi mức độ tương tác của người dùng, tỷ lệ áp dụng khoá truy cập và tỷ lệ đăng nhập thành công để liên tục tối ưu hoá trải nghiệm người dùng.
    • Tiến hành thử nghiệm A/B trên các quy trình xác thực khác nhau để cải thiện tỷ lệ chuyển đổi và giữ chân người dùng.

Khoá truy cập, kết hợp với Credential Manager API của Android, cung cấp một giải pháp xác thực mạnh mẽ, hợp nhất giúp nâng cao tính bảo mật đồng thời đơn giản hoá trải nghiệm người dùng. Khoá truy cập giúp giảm đáng kể nguy cơ tấn công giả mạo, đánh cắp thông tin xác thực và truy cập trái phép. Chúng tôi khuyến khích nhà phát triển dùng thử trải nghiệm này trong ứng dụng của họ và mang đến phương thức xác thực an toàn nhất cho người dùng.

Bắt đầu sử dụng khoá truy cập và Trình quản lý thông tin xác thực

Trải nghiệm thực tế với khoá truy cập và Trình quản lý thông tin xác thực trên Android bằng mã mẫu công khai của chúng tôi.

Nếu có thắc mắc hoặc gặp vấn đề, bạn có thể chia sẻ với chúng tôi thông qua trình theo dõi vấn đề về Thông tin xác thực Android.

Tác giả:

Tiếp tục đọc