---
url: 'https://www.corbado.com/vi/faq/webview-thach-thuc-passkey-ung-dung-di-dong'
title: 'Tại sao WebView trong ứng dụng di động lại là một thách thức đối với passkey?'
description: 'Tìm hiểu lý do tại sao WebView trong ứng dụng di động gây ra thách thức cho passkey và cách giải quyết các vấn đề này trong quá trình triển khai.'
lang: 'vi'
keywords: 'Thách thức passkey WebView, passkey ứng dụng di động, WebAuthn WebView, hạn chế passkey WebView'
---

# Tại sao WebView trong ứng dụng di động lại là một thách thức đối với passkey?

## Tại sao WebView trong ứng dụng di động lại là một thách thức đối với passkey?

WebViews, thường được sử dụng trong các ứng dụng di động để hiển thị nội dung web, đặt ra
những thách thức độc đáo khi triển khai passkey. Những thách thức này bắt nguồn từ việc hỗ
trợ hạn chế cho các tính năng WebAuthn trong nhiều môi trường
[WebView](https://www.corbado.com/blog/native-app-passkeys).

## Những thách thức chính của WebView đối với Passkey

### 1. Hỗ trợ WebAuthn hạn chế

- Nhiều WebViews thiếu hỗ trợ đầy đủ cho các API WebAuthn, gây khó khăn cho việc kích hoạt
  chức năng passkey.
- Các trình duyệt gốc (native browsers) như Chrome hoặc Safari thường sẵn sàng cho passkey
  hơn so với WebViews. Thay vào đó, chúng ta có thể triển khai passkey gốc trong ứng dụng
  [iOS](https://www.corbado.com/blog/how-to-enable-passkeys-ios) hoặc
  [Android](https://www.corbado.com/blog/how-to-enable-passkeys-android).

### 2. Triển khai không nhất quán

Khả năng của [WebView](https://www.corbado.com/blog/native-app-passkeys) thay đổi tùy theo nền tảng và phiên bản:

- **WKWebView** trên [iOS](https://www.corbado.com/blog/how-to-enable-passkeys-ios) hỗ trợ tốt hơn nhưng vẫn có
  thể thiếu các tính năng WebAuthn quan trọng.
- Việc triển khai [WebView](https://www.corbado.com/blog/native-app-passkeys) trên
  [Android](https://www.corbado.com/blog/how-to-enable-passkeys-android) thường kém nhất quán hơn và có thể yêu
  cầu cấu hình tùy chỉnh.

### 3. Hạn chế về bảo mật

- WebViews thường có môi trường hạn chế quyền truy cập vào
  [authenticator](https://www.corbado.com/glossary/authenticator) (trình xác thực) cục bộ, chẳng hạn như
  [Face ID](https://www.corbado.com/faq/is-face-id-passkey), Touch ID hoặc các tính năng
  [sinh trắc học](https://www.corbado.com/vi/blog/sinh-trac-hoc-nhan-thuc-nguoi-thanh-toan) tương đương trên
  [Android](https://www.corbado.com/blog/how-to-enable-passkeys-android).
- Điều này có thể ngăn cản việc [tạo passkey](https://www.corbado.com/vi/blog/thuc-hanh-tot-nhat-tao-passkey)
  (passkey creation) hoặc sử dụng chúng một cách mượt mà trong ứng dụng.

### 4. Vấn đề về trải nghiệm người dùng

Nếu passkey không hoạt động trong WebViews, người dùng có thể phải chuyển sang trình duyệt
hoặc ứng dụng bên ngoài để xác thực, làm gián đoạn luồng đăng nhập. Thông thường, trải
nghiệm UX của passkey tốt nhất đạt được khi sử dụng triển khai passkey gốc trong framework
phát triển ứng dụng [iOS](https://www.corbado.com/blog/how-to-enable-passkeys-ios) hoặc Android tương ứng (ví dụ:
Kotlin, Swift).

## Chiến lược giải quyết thách thức của WebView

1. **Kiểm tra khả năng tương thích của WebView:**
    - Sử dụng dữ liệu từ [State of Passkeys](https://state-of-passkeys.io) để xác định các
      hạn chế của WebView.
    - Đánh giá các loại WebView cụ thể (ví dụ: [WKWebView](https://www.corbado.com/blog/native-app-passkeys) so
      với Android WebView) được sử dụng trong ứng dụng của bạn.

2. **Các tùy chọn dự phòng (Fallback):**
    - Chuyển hướng người dùng đến trình duyệt gốc để xác thực nếu WebView hỗ trợ không đủ.
    - Duy trì các phương pháp MFA thay thế trong giai đoạn chuyển tiếp.

3. **Khuyến khích triển khai Native:** Khi có thể, hãy sử dụng các thành phần ứng dụng gốc
   (native app) cho chức năng passkey thay vì phụ thuộc vào WebViews.

4. **Làm việc với các nhà cung cấp:** Hợp tác với các nhà cung cấp WebView và nền tảng để
   thúc đẩy việc hỗ trợ WebAuthn tốt hơn trong các bản cập nhật tương lai.

## Kết luận

WebViews đặt ra những thách thức đáng kể đối với passkey do hỗ trợ WebAuthn hạn chế và các
ràng buộc về [bảo mật](https://www.corbado.com/vi/blog/cach-bat-passkey-tren-android). Bằng cách hiểu rõ những
hạn chế này và áp dụng các chiến lược như tùy chọn dự phòng và các thành phần ứng dụng gốc
(native app), chúng ta có thể đảm bảo quá trình triển khai passkey diễn ra suôn sẻ hơn.

## Đọc toàn bộ bài viết
