Kiểm tra ứng dụng Firebase cho các nền tảng của Apple

1. Giới thiệu

Tính năng Kiểm tra ứng dụng Firebase giúp bảo vệ các tài nguyên phụ trợ của bạn khỏi hành vi sai trái, chẳng hạn như gian lận thanh toán và lừa đảo, bằng cách đảm bảo các yêu cầu đến từ các thiết bị và ứng dụng hợp lệ. Giải pháp này hoạt động với cả dịch vụ Firebase và dịch vụ phụ trợ của riêng bạn để giữ an toàn cho tài nguyên của bạn.

Bạn có thể tìm hiểu thêm về tính năng Kiểm tra ứng dụng Firebase trong tài liệu về Firebase.

Tính năng Kiểm tra ứng dụng dùng các dịch vụ dành riêng cho từng nền tảng để xác minh tính toàn vẹn của một ứng dụng và/hoặc thiết bị. Những dịch vụ này được gọi là nhà cung cấp dịch vụ chứng thực. Một trong những nhà cung cấp như vậy là dịch vụ App Attest (Kiểm thử ứng dụng) của Apple. Dịch vụ này có thể dùng để xác minh tính xác thực của các ứng dụng và thiết bị Apple.

Sản phẩm bạn sẽ tạo ra

Trong lớp học lập trình này, bạn sẽ thêm và thực thi tính năng Kiểm tra ứng dụng trong một ứng dụng mẫu hiện có để Cơ sở dữ liệu theo thời gian thực của dự án không bị các ứng dụng và thiết bị bất hợp pháp truy cập.

Kiến thức bạn sẽ học được

  • Cách thêm tính năng Kiểm tra ứng dụng Firebase vào một ứng dụng hiện có.
  • Cách cài đặt các nhà cung cấp dịch vụ chứng thực của tính năng Kiểm tra ứng dụng Firebase.
  • Cách định cấu hình Chứng thực ứng dụng cho ứng dụng của bạn.
  • Cách định cấu hình nhà cung cấp dịch vụ chứng thực gỡ lỗi để kiểm thử ứng dụng của bạn trên Trình mô phỏng trong quá trình phát triển ứng dụng.

Bạn cần có

2. Tải dự án khởi đầu

Kho lưu trữ Firebase Quickstarts dành cho iOS chứa các ứng dụng mẫu để minh hoạ nhiều sản phẩm Firebase. Bạn sẽ dùng ứng dụng Bắt đầu nhanh về cơ sở dữ liệu Firebase cho SwiftUI làm cơ sở cho lớp học lập trình này.

Sao chép Firebase Quickstarts dành cho kho lưu trữ iOS từ dòng lệnh:

git clone https://github.com/firebase/quickstart-ios.git
cd quickstart-ios

Mở dự án ứng dụng Bắt đầu nhanh SwiftUI Cơ sở dữ liệu theo thời gian thực trong Xcode:

cd database/DatabaseExampleSwiftUI/DatabaseExample
xed .

3. Thêm tính năng Kiểm tra ứng dụng vào ứng dụng của bạn

  1. Chờ Trình quản lý gói Swift giải quyết các phần phụ thuộc của dự án.
  2. Mở thẻ General (Chung) của mục tiêu ứng dụng DatabaseExample (iOS). Sau đó, trong mục Frameworks, Libraries and Embedded Content (Khung, Thư viện và Nội dung được nhúng), hãy nhấp vào nút +.
  3. Chọn để thêm FirebaseAppCheck.

4. Tạo và cài đặt nhà cung cấp dịch vụ Kiểm tra ứng dụng

  1. Trong nhóm tệp Shared, hãy thêm một nhóm mới có tên là AppCheck.
  2. Bên trong nhóm này, hãy tạo một lớp factory trong một tệp riêng biệt, ví dụ: MyAppCheckProviderFactory.swift , hãy nhớ thêm vào mục tiêu DatabaseExample (iOS):
    import Firebase
    
    class MyAppCheckProviderFactory: NSObject, AppCheckProviderFactory {
      func createProvider(with app: FirebaseApp) -> AppCheckProvider? {
        #if targetEnvironment(simulator)
          // App Attest is not available on simulators.
          // Use a debug provider.
          return AppCheckDebugProvider(app: app)
        #else
          // Use App Attest provider on real devices.
          return AppAttestProvider(app: app)
        #endif
      }
    }
    
  3. Tiếp theo, trong DatabaseExampleApp.swift, hãy nhớ nhập FirebaseAppCheck và đặt một thực thể của lớp MyAppCheckProviderFactory làm nhà cung cấp dịch vụ Kiểm tra ứng dụng.
    import SwiftUI
    import FirebaseCore
    import FirebaseAppCheck
    
    @main
    struct DatabaseExampleApp: App {
      init() {
        // Set an instance of MyAppCheckProviderFactory as an App Check
        // provider factory before configuring Firebase.
        AppCheck.setAppCheckProviderFactory(MyAppCheckProviderFactory())
        FirebaseApp.configure()
      }
      ...
    }
    

5. Tạo và định cấu hình dự án Firebase

Để sử dụng tính năng Kiểm tra ứng dụng trong dự án iOS, bạn cần làm theo các bước sau trong bảng điều khiển của Firebase:

  • Thiết lập một dự án Firebase.
  • Thêm ứng dụng iOS của bạn vào dự án Firebase.
  • Định cấu hình tính năng xác thực Firebase.
  • Khởi chạy thực thể Cơ sở dữ liệu theo thời gian thực mà bạn muốn bảo vệ.
  • Định cấu hình tính năng Kiểm tra ứng dụng.

Tạo dự án

Trước tiên, bạn cần tạo một dự án Firebase.

  1. Trong bảng điều khiển của Firebase, hãy chọn Thêm dự án.
  2. Đặt tên cho dự án là App Check Codelab
  3. Nhấp vào Tiếp tục.
  4. Tắt Google Analytics cho dự án này, rồi nhấp vào Tạo dự án.

Tạo thực thể Cơ sở dữ liệu theo thời gian thực

Bây giờ, hãy chuyển đến mục Cơ sở dữ liệu theo thời gian thực trong bảng điều khiển của Firebase.

  1. Nhấp vào nút Tạo cơ sở dữ liệu để bắt đầu quy trình tạo cơ sở dữ liệu.
  2. Giữ nguyên vị trí mặc định (us-central1) của cơ sở dữ liệu rồi nhấp vào Tiếp theo.
  3. Đảm bảo bạn đã chọn Chế độ khoá rồi nhấp vào nút Enable (Bật) để bật Quy tắc bảo mật cho cơ sở dữ liệu của bạn.
  4. Chuyển đến thẻ Quy tắc của trình duyệt Cơ sở dữ liệu theo thời gian thực rồi thay thế các quy tắc mặc định bằng các quy tắc sau:
    {
        "rules": {
            // User profiles are only readable/writable by the user who owns it
            "users": {
                "$UID": {
                    ".read": "auth.uid == $UID",
                    ".write": "auth.uid == $UID"
                }
            },
            // Posts can be read by anyone but only written by logged-in users.
            "posts": {
                ".read": true,
                ".write": "auth.uid != null",
                "$POSTID": {
                    // UID must match logged in user and is fixed once set
                    "uid": {
                        ".validate": "(data.exists() && data.val() == newData.val()) || newData.val() == auth.uid"
                    },
                    // User can only update own stars
                    "stars": {
                        "$UID": {
                            ".validate": "auth.uid == $UID"
                        }
                    }
                }
            },
            // User posts can be read by anyone but only written by the user that owns it,
            // and with a matching UID
            "user-posts": {
                ".read": true,
                "$UID": {
                    "$POSTID": {
                        ".write": "auth.uid == $UID",
                        ".validate": "data.exists() || newData.child('uid').val() == auth.uid"
                    }
                }
            },
            // Comments can be read by anyone but only written by a logged in user
            "post-comments": {
                ".read": true,
                ".write": "auth.uid != null",
                "$POSTID": {
                    "$COMMENTID": {
                        // UID must match logged in user and is fixed once set
                        "uid": {
                            ".validate": "(data.exists() && data.val() == newData.val()) || newData.val() == auth.uid"
                        }
                    }
                }
            }
        }
    }
    
  5. Nhấp vào nút Xuất bản để kích hoạt Quy tắc bảo mật đã cập nhật.

Chuẩn bị ứng dụng iOS để kết nối với Firebase

Để có thể chạy ứng dụng mẫu trên thiết bị thực, bạn cần thêm dự án vào nhóm phát triển để Xcode có thể quản lý hồ sơ cấp phép cần thiết cho bạn. Hãy làm theo các bước sau để thêm ứng dụng mẫu vào tài khoản nhà phát triển của bạn:

  1. Trong Xcode, hãy chọn dự án DatabaseExample trong trình điều hướng dự án.
  2. Chọn mục tiêu DatabaseExample (iOS) rồi mở mục Ký và Thẻ Chức năng.
  3. Bạn sẽ thấy thông báo lỗi cho biết "Ký cho DatabaseExample (iOS) cần có nhóm phát triển".
  4. Hãy cập nhật mã nhận dạng gói thành một giá trị nhận dạng duy nhất. Cách dễ nhất để làm việc này là sử dụng tên miền đảo ngược của trang web, ví dụ như com.acme.samples.firebase.quickstart.DatabaseExample (vui lòng không sử dụng mã này; hãy chọn mã nhận dạng duy nhất của riêng bạn).
  5. Chọn nhóm phát triển của bạn.
  6. Bạn sẽ biết mọi thứ đều diễn ra tốt đẹp khi Xcode hiển thị "Hồ sơ cấp phép: Hồ sơ do Xcode quản lý" và một biểu tượng thông tin nhỏ bên cạnh nhãn này. Khi nhấp vào biểu tượng này, bạn sẽ thấy thông tin chi tiết hơn về hồ sơ cấp phép.

Kết nối ứng dụng iOS của bạn

Để xem nội dung giải thích chi tiết về cách kết nối ứng dụng, hãy xem tài liệu về cách thêm Firebase vào dự án iOS của bạn. Để bắt đầu, hãy làm theo các bước chính sau trong bảng điều khiển của Firebase:

  1. Từ màn hình Tổng quan về dự án của dự án mới, hãy nhấp vào nút + Thêm ứng dụng, sau đó nhấp vào biểu tượng iOS+ để thêm ứng dụng iOS mới vào dự án Firebase của bạn.
  2. Nhập mã nhận dạng gói của ứng dụng (sử dụng mã mà bạn đã xác định trong phần trước, chẳng hạn như com.acme.samples.firebase.quickstart.DatabaseExample – hãy lưu ý rằng mã này phải là một giá trị nhận dạng duy nhất)
  3. Nhấp vào Đăng ký ứng dụng.
  4. Firebase tạo một tệp GoogleService-Info.plist chứa tất cả siêu dữ liệu Firebase cần thiết cho ứng dụng của bạn.
  5. Nhấp vào Tải GoogleService-Info.plist xuống để tải tệp xuống.
  6. Trong Xcode, bạn sẽ thấy dự án đã chứa một tệp có tên GoogleService-Info.plist. Trước tiên, hãy xoá tệp này – bạn sẽ thay thế tệp này bằng tệp cho dự án Firebase của riêng mình trong bước tiếp theo.
  7. Sao chép tệp GoogleService-Info.plist mà bạn đã tải xuống ở bước trước vào thư mục gốc của dự án Xcode rồi thêm tệp đó vào mục tiêu DatabaseExample (iOS), đảm bảo tệp này có tên là GoogleService-Info.plist
  8. Nhấp qua các bước còn lại của quy trình đăng ký. Vì dự án mẫu đã được thiết lập chính xác, nên bạn không cần thay đổi mã.

Định cấu hình tính năng xác thực Firebase

Chà! Đến đây bạn đã thiết lập khá nhiều, nhưng mong bạn kiên nhẫn chờ đợi! Nếu mới sử dụng Firebase, bạn đã tìm hiểu các phần quan trọng trong quy trình công việc mà bạn sẽ sớm quen thuộc.

Bây giờ, bạn sẽ định cấu hình tính năng Xác thực Firebase cho ứng dụng này.

Bật nhà cung cấp email xác thực/đăng nhập bằng mật khẩu

  1. Vẫn trong bảng điều khiển của Firebase, hãy mở mục Xác thực của bảng điều khiển.
  2. Nhấp vào Bắt đầu để thiết lập tính năng Xác thực Firebase cho dự án của bạn.
  3. Chọn thẻ Phương thức đăng nhập.
  4. Chọn Email/Mật khẩu trong phần Nhà cung cấp gốc.
  5. Bật Email/Mật khẩu rồi nhấp vào Lưu.

Thêm người dùng thử nghiệm

  1. Mở thẻ Người dùng của phần Xác thực.
  2. Nhấp vào Thêm người dùng.
  3. Chỉ định một email và mật khẩu cho người dùng thử nghiệm, sau đó nhấp vào Thêm người dùng.

Thử dùng ứng dụng

Quay lại Xcode và chạy ứng dụng trên Trình mô phỏng iOS. Đăng nhập bằng email và mật khẩu của người dùng thử nghiệm mà bạn vừa tạo. Sau khi đăng nhập, hãy tạo bài đăng, đăng nhận xét về bài đăng hiện có và gắn dấu sao/bỏ gắn dấu sao bài đăng.

6. Định cấu hình nhà cung cấp dịch vụ chứng thực Chứng thực ứng dụng

Trong bước này, bạn sẽ định cấu hình tính năng Kiểm tra ứng dụng để sử dụng nhà cung cấp dịch vụ Kiểm thử ứng dụng trong bảng điều khiển của Firebase.

  1. Trong bảng điều khiển của Firebase, hãy chuyển đến mục Kiểm tra ứng dụng của bảng điều khiển.
  2. Nhấp vào Bắt đầu.
  3. Trong thẻ Ứng dụng, hãy nhấp vào ứng dụng của bạn để mở rộng thông tin chi tiết.
  4. Nhấp vào App Attest (Kiểm chứng ứng dụng) để thiết lập App Attest (Kiểm thử ứng dụng), sau đó nhập Mã nhóm của Tài khoản nhà phát triển Apple (bạn có thể tìm thấy mã này trong phần Gói thành viên trên Cổng thông tin dành cho nhà phát triển của Apple): 1645f7a369b678c2.pngS
  5. Nhấp vào Lưu.

Như vậy, bạn sẽ có một dự án Firebase đang hoạt động được kết nối với ứng dụng mới của chúng tôi và tính năng Kiểm tra ứng dụng đã được bật.

Bây giờ, bạn đã sẵn sàng định cấu hình dịch vụ chứng thực cụ thể của chúng tôi! Để biết thêm thông tin về quy trình này, hãy xem bài viết Bật tính năng Kiểm tra ứng dụng bằng tính năng Chứng thực ứng dụng trên iOS.

7. Định cấu hình Chứng thực ứng dụng cho ứng dụng của bạn

Bây giờ, đã đến lúc bạn sử dụng SDK Kiểm tra ứng dụng Firebase và triển khai một số mã ứng dụng.

Trước tiên, bạn cần định cấu hình dự án Xcode để SDK có thể sử dụng API Kiểm tra ứng dụng của Apple nhằm đảm bảo rằng các yêu cầu được gửi từ ứng dụng của bạn đến từ các phiên bản hợp lệ của ứng dụng.

  1. Thêm chức năng Chứng thực ứng dụng cho mục tiêu ứng dụng của bạn trong dự án Xcode:
  2. hãy mở mục Ký & Thẻ Chức năng trong phần cài đặt mục tiêu ứng dụng
  3. nhấp vào "+" nút
  4. trong hộp thoại, hãy tìm và chọn chức năng Kiểm thử ứng dụng ae84cd988a5fab31.png.
  5. Tệp DatabaseExample (iOS).entitlements sẽ xuất hiện trong thư mục gốc của dự án Xcode sau khi thực hiện bước trước đó.
  6. Trong tệp DatabaseExample (iOS).entitlements, hãy thay đổi giá trị của khoá App Attest Environment thành production.

Sau khi bạn hoàn tất các bước này và chạy ứng dụng trên thiết bị iOS thực (iPhone/iPad), ứng dụng sẽ vẫn có thể truy cập Cơ sở dữ liệu theo thời gian thực. Ở bước sau, bạn sẽ thực thi tính năng Kiểm tra ứng dụng. Tính năng này sẽ chặn các yêu cầu được gửi từ các thiết bị và ứng dụng bất hợp pháp.

Để tìm hiểu thêm về quy trình làm việc này, hãy xem bài viết Bật tính năng Kiểm tra ứng dụng bằng tính năng Xác thực ứng dụng trên iOS.

8. Định cấu hình Nhà cung cấp chứng thực gỡ lỗi cho Trình mô phỏng iOS

Trình cung cấp Gỡ lỗi kiểm tra ứng dụng Firebase giúp bạn có thể thử nghiệm các ứng dụng có thực thi tính năng Kiểm tra ứng dụng Firebase trong các môi trường không đáng tin cậy (bao gồm cả Trình mô phỏng iOS) trong quá trình phát triển. Tiếp theo, bạn cần định cấu hình trình cung cấp gỡ lỗi cùng nhau.

Cài đặt trình cung cấp dịch vụ gỡ lỗi Firebase trong ứng dụng của bạn

Cách 1: Tạo một phiên bản có điều kiện của trình cung cấp gỡ lỗi trong nhà máy của bạn

Bạn đã thực hiện hầu hết những việc này khi tạo nhà máy cung cấp dịch vụ Kiểm tra ứng dụng. Trong bước này, bạn sẽ thêm nhật ký của khoá bí mật gỡ lỗi cục bộ do trình cung cấp gỡ lỗi tạo ra. Nhờ đó, bạn có thể đăng ký phiên bản này của ứng dụng trong bảng điều khiển của Firebase cho mục đích gỡ lỗi.

Cập nhật MyAppCheckProviderFactory.swift bằng đoạn mã sau:

import Firebase

class MyAppCheckProviderFactory: NSObject, AppCheckProviderFactory {
  func createProvider(with app: FirebaseApp) -> AppCheckProvider? {
#if targetEnvironment(simulator)
    // App Attest is not available on simulators.
    // Use a debug provider.
    let provider = AppCheckDebugProvider(app: app)

    // Print only locally generated token to avoid a valid token leak on CI.
    print("Firebase App Check debug token: \(provider?.localDebugToken() ?? "" )")

    return provider
#else
    // Use App Attest provider on real devices.
    return AppAttestProvider(app: app)
#endif
  }
}

Phương pháp này giúp chúng tôi linh hoạt hơn trong việc định cấu hình tính năng Kiểm tra ứng dụng tuỳ theo môi trường. Ví dụ: bạn có thể sử dụng các nhà cung cấp dịch vụ chứng thực khác như DeviceCheck hoặc một nhà cung cấp dịch vụ chứng thực tuỳ chỉnh trên các phiên bản hệ điều hành không có tính năng Chứng thực ứng dụng. Hãy xem ví dụ dưới đây:

import Firebase

class MyAppCheckProviderFactory: NSObject, AppCheckProviderFactory {
  func createProvider(with app: FirebaseApp) -> AppCheckProvider? {
      #if targetEnvironment(simulator)
      // App Attest is not available on simulators.
      // Use a debug provider.
      let provider = AppCheckDebugProvider(app: app)

      // Print only locally generated token to avoid a valid token leak on CI.
      print("Firebase App Check debug token: \(provider?.localDebugToken() ?? "" )")

      return provider
      #else
      if #available(iOS 14.0, *) {
        // Use App Attest provider on real devices.
        return AppAttestProvider(app: app)
      } else {
        return DeviceCheckProvider(app: app)
      }
      #endif
  }
}

Lựa chọn 2: Cài đặt AppCheckDebugProviderFactory

Đối với các trường hợp đơn giản hơn, bạn có thể cài đặt tạm thời hoặc có điều kiện AppCheckDebugProviderFactory trước khi định cấu hình phiên bản ứng dụng Firebase:

init() {
#if targetEnvironment(simulator)
  let providerFactory = AppCheckDebugProviderFactory()
#else
  let providerFactory = MyAppCheckProviderFactory()
#endif

  AppCheck.setAppCheckProviderFactory(providerFactory)

  FirebaseApp.configure()
}

Thao tác này sẽ giúp bạn tiết kiệm một vài dòng mã khi tạo nhà máy cung cấp dịch vụ Kiểm tra ứng dụng của riêng bạn.

Đăng ký mã gỡ lỗi bí mật của bạn trong bảng điều khiển của Firebase

Lấy bí mật gỡ lỗi từ Trình mô phỏng iOS

  1. Nếu chọn cài đặt AppCheckDebugProviderFactory (lựa chọn 2 ở trên), bạn cần bật tính năng ghi nhật ký gỡ lỗi cho ứng dụng của mình bằng cách thêm -FIRDebugEnabled vào đối số khởi chạy ứng dụng: f1c6b477a373e144.pngs
  2. Chạy ứng dụng trên Trình mô phỏng
  3. Tìm mã gỡ lỗi trong bảng điều khiển của Xcode. Bạn có thể dùng bộ lọc của bảng điều khiển để tìm nhanh hơn: d4c65af93e369c55.pngS

Lưu ý: Mã gỡ lỗi bí mật được tạo cho trình mô phỏng của bạn trong lần đầu tiên khởi chạy ứng dụng và được lưu trữ trong thông tin mặc định của người dùng. Nếu bạn xoá ứng dụng đó, đặt lại trình mô phỏng hoặc sử dụng một trình mô phỏng khác, thì mã gỡ lỗi mới sẽ được tạo. Hãy nhớ đăng ký mã gỡ lỗi bí mật mới.

Đăng ký mã gỡ lỗi bí mật

  1. Quay lại bảng điều khiển Firevbase, hãy chuyển đến phần Kiểm tra ứng dụng.
  2. Trong thẻ Ứng dụng, hãy nhấp vào ứng dụng của bạn để mở rộng thông tin chi tiết.
  3. Trong trình đơn mục bổ sung, hãy chọn Quản lý mã gỡ lỗi: d77c8ff768a00b4b.png.
  4. Thêm mã thông báo bí mật mà bạn đã sao chép từ bảng điều khiển của Xcode, rồi nhấp vào Lưu f845c97b86f694d0.pngs

Sau những bước này, bạn có thể dùng ứng dụng trên Trình mô phỏng ngay cả khi thực thi tính năng Kiểm tra ứng dụng.

Lưu ý: Trình cung cấp dịch vụ gỡ lỗi được thiết kế riêng để giúp ngăn chặn những sự cố rò rỉ bí mật về việc gỡ lỗi. Với phương pháp hiện tại, bạn không cần lưu trữ khoá bí mật gỡ lỗi trong mã nguồn.

Bạn có thể xem thêm thông tin chi tiết về quy trình này trong tài liệu – xem bài viết Sử dụng tính năng Kiểm tra ứng dụng với trình cung cấp dịch vụ gỡ lỗi trên iOS.

9. Bật chế độ thực thi Kiểm tra ứng dụng cho Cơ sở dữ liệu theo thời gian thực của Firebase

Hiện tại, ứng dụng của chúng ta khai báo AppCheckProviderFactory trả về AppAttestProvider cho các thiết bị thực. Khi chạy trên một thiết bị thực, ứng dụng của bạn sẽ thực hiện quy trình chứng thực và gửi kết quả đến phần phụ trợ của Firebase. Tuy nhiên, phần phụ trợ của Firebase vẫn chấp nhận các yêu cầu từ mọi thiết bị, Trình mô phỏng iOS, tập lệnh, v.v. Chế độ này hữu ích khi bạn vẫn còn người dùng đang sử dụng phiên bản cũ của ứng dụng chưa bật tính năng Kiểm tra ứng dụng và bạn chưa muốn thực thi kiểm tra quyền truy cập.

Bây giờ, bạn cần bật chế độ thực thi của tính năng Kiểm tra ứng dụng để đảm bảo chỉ có thể truy cập vào ứng dụng Firebase trên các thiết bị hợp lệ. Những phiên bản ứng dụng cũ không tích hợp tính năng Kiểm tra ứng dụng sẽ ngừng hoạt động sau khi bạn bật tính năng thực thi cho dự án Firebase.

  1. Trong phần Kiểm tra ứng dụng trên bảng điều khiển của Firebase, hãy nhấp vào Cơ sở dữ liệu theo thời gian thực để mở rộng thông tin chi tiết.
  2. Nhấp vào Thực thi.

64e6a81fa979b635.pngS

  1. Đọc thông tin trong hộp thoại xác nhận rồi nhấp vào Thực thi.

Sau khi bạn hoàn tất các bước này, chỉ những ứng dụng hợp pháp mới có thể truy cập vào cơ sở dữ liệu này. Tất cả các ứng dụng khác sẽ bị chặn.

Thử truy cập vào Cơ sở dữ liệu theo thời gian thực bằng một ứng dụng bất hợp pháp

Để xem biện pháp thực thi của tính năng Kiểm tra ứng dụng trong thực tế, hãy làm theo các bước sau:

  1. Tắt tính năng đăng ký tính năng Kiểm tra ứng dụng bằng cách nhận xét về mã đăng ký của tính năng Kiểm tra ứng dụng trong phương thức init của điểm truy cập ứng dụng trong DatabaseExampleApp.
  2. Đặt lại Trình mô phỏng bằng cách chọn Thiết bị > Xoá tất cả nội dung và chế độ cài đặt. Thao tác này sẽ xoá sạch Trình mô phỏng (và vô hiệu hoá mã thông báo thiết bị).
  3. Chạy lại ứng dụng trên Trình mô phỏng.
  4. Bây giờ, bạn sẽ thấy thông báo lỗi sau:
    [FirebaseDatabase][I-RDB034005] Firebase Database connection was forcefully killed by the server.  Will not attempt reconnect. Reason: Invalid appcheck token.
    

Để bật lại tính năng Kiểm tra ứng dụng, hãy làm như sau:

  1. Huỷ nhận xét về mã đăng ký Kiểm tra ứng dụng trong DatabaseExampleApp.
  2. Khởi động lại ứng dụng.
  3. Ghi lại mã thông báo Kiểm tra ứng dụng mới trong bảng điều khiển của Xcode.
  4. Đăng ký mã gỡ lỗi trong phần cài đặt Kiểm tra ứng dụng của ứng dụng trên bảng điều khiển của Firebase.
  5. Chạy lại ứng dụng.
  6. Bạn sẽ không còn thấy thông báo lỗi và có thể thêm bài đăng cũng như nhận xét mới trong ứng dụng.

10. Xin chúc mừng!

9785d32f18b995d2.gif

Bây giờ, bạn đã biết cách:

  • Thêm tính năng Kiểm tra ứng dụng vào một dự án hiện có
  • Định cấu hình nhà cung cấp dịch vụ chứng thực Chứng thực ứng dụng cho phiên bản phát hành công khai của ứng dụng
  • Định cấu hình nhà cung cấp dịch vụ chứng thực gỡ lỗi để kiểm thử ứng dụng của bạn trên một trình mô phỏng
  • Quan sát quá trình phát hành phiên bản ứng dụng để biết thời điểm cần thực thi tính năng Kiểm tra ứng dụng cho dự án Firebase của bạn
  • Bật chế độ thực thi tính năng Kiểm tra ứng dụng

Các bước tiếp theo

Tìm hiểu cách sử dụng Cấu hình từ xa để từng bước triển khai tính năng Kiểm tra ứng dụng cho người dùng trong bài viết Triển khai từng bước tính năng Kiểm tra ứng dụng Firebase bằng cách sử dụng Cấu hình từ xa Firebase

Đây là những tài nguyên khác mà bạn có thể thấy hữu ích

Cách thiết lập được mô tả trong lớp học lập trình này sẽ hoạt động trong hầu hết các trường hợp, nhưng tính năng Kiểm tra ứng dụng cho phép bạn linh hoạt hơn nếu cần – hãy xem các đường liên kết sau để biết thêm chi tiết: