Skip to main content

Lỗi Đăng Nhập Google & Tích Hợp Đăng Nhập Apple

Ngày cập nhật: 20/06/2026
File ảnh gốc: z7956720174530_527abb268e6b39df53e2ef37bbbf55fb.jpg

Tài liệu này ghi nhận báo cáo lỗi (Bug Report) đối với luồng đăng nhập Google và yêu cầu tích hợp tính năng đăng nhập Apple trên ứng dụng di động.


  • Mô tả lỗi: Khi người dùng bấm đăng nhập bằng tài khoản Google, trình duyệt/Webview thực hiện xác thực thành công và cố gắng chuyển hướng ngược lại ứng dụng thông qua Custom URL Scheme (Deep Link). Tuy nhiên, ứng dụng lập tức hiển thị màn hình lỗi "Unmatched Route - Page could not be found".
  • Đường dẫn deep link bị lỗi: goldenlotus://google-auth?id_token=eyJhbGciOiJSUzI1...

Lỗi Unmatched Route Google Auth

Nguyên nhân kỹ thuật:

  • Hệ thống định tuyến của ứng dụng (Expo Router / React Navigation) chưa được khai báo hoặc đăng ký route /google-auth để tiếp nhận và xử lý callback từ Google.
  • Chưa kích hoạt dịch vụ Google Sign-In trên Firebase Console cho project ứng dụng.

Yêu cầu sửa lỗi:

  • Cấu hình Firebase Console (Quan trọng):
    • Đăng ký ứng dụng vào project Firebase.
    • Truy cập vào Firebase Console -> mục Authentication -> chọn tab Sign-in method -> Kích hoạt (Enable) phương thức đăng nhập bằng Google.
  • Cấu hình Deep Link: Đảm bảo file cấu hình (app.json của Expo hoặc Info.plist / AndroidManifest.xml của Native) đã đăng ký URL scheme goldenlotus.
  • Định nghĩa Route nhận token:
    • Tạo file route tương ứng trong dự án (ví dụ: app/google-auth.tsx đối với Expo Router).
    • Viết logic lấy tham số id_token từ URL query parameters.
  • Xác thực Backend: Gửi id_token này lên Backend API để xác thực tài khoản và chuyển hướng người dùng vào trang Home sau khi đăng nhập thành công.

2. Thiếu Tính Năng Đăng Nhập Apple (Apple Login)

  • Hiện trạng: Trên màn hình đăng nhập của ứng dụng hiện tại chưa tích hợp hoặc đang thiếu nút Đăng nhập bằng Apple (Sign in with Apple).

Yêu cầu triển khai:

  • Thiết kế UI: Bổ sung nút đăng nhập bằng Apple ở khu vực đăng nhập bằng mạng xã hội, tuân thủ đúng hướng dẫn thiết kế của Apple (Apple Human Interface Guidelines).
  • Tích hợp Thư viện SDK: Sử dụng thư viện xác thực Apple (ví dụ: expo-apple-authentication trên Expo).
  • Đồng bộ Backend: Gửi Identity Token nhận được từ Apple SDK lên Backend để đăng ký/đăng nhập tài khoản của người dùng.