Bắt đầu sử dụng tính năng Kiểm tra ứng dụng cho tính năng Đăng nhập bằng Google trên iOS

Trang này hướng dẫn cách bật App Check trong một ứng dụng iOS. Khi bật App Check, bạn sẽ giúp đảm bảo rằng chỉ ứng dụng của bạn mới có thể truy cập vào các điểm cuối OAuth 2.0 của Google thay cho dự án của bạn. Xem phần Tổng quan về tính năng này.

Tính năng Kiểm tra ứng dụng sử dụng Chứng thực ứng dụng để giúp xác minh rằng các yêu cầu OAuth 2.0 đến từ ứng dụng chính thức của bạn. Tính năng Kiểm tra ứng dụng không sử dụng Chứng thực ứng dụng để phân tích nguy cơ gian lận.

Trước khi bắt đầu

  1. Đảm bảo bạn có Xcode 12.5 trở lên.

  2. Tích hợp tính năng Đăng nhập bằng Google vào ứng dụng iOS của bạn bằng Thư viện Đăng nhập bằng Google.

1. Thiết lập dự án

Bạn có thể bật App Check trong Google API Console hoặc trong Bảng điều khiển của Firebase. Bạn không cần bật tính năng này ở cả hai nơi, chỉ cần bật ở một nơi là đủ.

Google API Console

Bạn phải đáp ứng các yêu cầu sau để bật thành công tính năng Kiểm tra ứng dụng cho ứng dụng iOS của mình:
  • Bạn phải chỉ định mã nhóm cho ứng dụng iOS.
  • Bạn không được sử dụng ký tự đại diện trong mã gói vì ký tự này có thể phân giải thành nhiều ứng dụng. Điều này có nghĩa là mã gói không được chứa biểu tượng dấu hoa thị (*).
Để bật App Check, hãy bật nút bật tắt Bảo vệ ứng dụng khách OAuth của bạn khỏi hành vi sai trái bằng Firebase App Check trong chế độ chỉnh sửa của ứng dụng khách iOS.

Sau khi bật App Check, bạn sẽ bắt đầu thấy các chỉ số liên quan đến yêu cầu OAuth từ ứng dụng của mình trong chế độ chỉnh sửa của ứng dụng OAuth. Các yêu cầu từ những nguồn chưa xác minh sẽ không bị chặn cho đến khi bạn thực thi App Check. Thông tin trên trang giám sát chỉ số có thể giúp bạn xác định thời điểm bắt đầu thực thi.

Bạn có thể gặp lỗi liên quan đến tính năng App Check khi bật App Check cho ứng dụng iOS. Để khắc phục những lỗi này, hãy thử làm như sau:

  • Xác minh rằng mã nhận dạng gói và mã nhận dạng nhóm mà bạn chỉ định là hợp lệ.
  • Kiểm tra để đảm bảo bạn không sử dụng ký tự đại diện cho mã nhận dạng gói.

Bảng điều khiển của Firebase

  1. Bạn phải có một dự án Firebase để sử dụng App Check với tính năng Đăng nhập bằng Google.

    • Nếu ứng dụng của bạn đã sử dụng Firebase, hãy sử dụng cùng một dự án.

    • Nếu ứng dụng của bạn sử dụng tính năng Đăng nhập bằng Google nhưng không sử dụng Firebase, thì bạn đã có một dự án Google Cloud. Thêm Firebase vào dự án Google Cloud bằng cách chọn dự án đó khi bạn tạo một dự án mới trong bảng điều khiển của Firebase

      Xem thêm: Mối quan hệ giữa dự án Firebase và Google Cloud

  2. Nếu chưa thực hiện, hãy thêm ứng dụng iOS vào dự án Firebase bằng trang Cài đặt dự án của bảng điều khiển Firebase.

  3. Đăng ký ứng dụng của bạn để sử dụng tính năng Kiểm tra ứng dụng với nhà cung cấp Chứng thực ứng dụng trong mục Kiểm tra ứng dụng của bảng điều khiển Firebase.

  4. Đảm bảo tất cả ứng dụng OAuth của dự án đều được liên kết với một ứng dụng.

    Nếu có các ứng dụng khách chưa liên kết, bạn sẽ thấy một thông báo trong phần Google Identity for iOS (Danh tính Google cho iOS) của trang App Check (Kiểm tra ứng dụng) cho biết "Bạn có n ứng dụng khách OAuth chưa liên kết cần được thiết lập thêm".

    Ngoài ra, nếu đã xoá một số ứng dụng OAuth sau khi thiết lập chúng trong App Check, bạn sẽ thấy thông báo "Bạn có n chế độ ghi đè không có ứng dụng OAuth nào khớp". Bạn có thể yên tâm dọn dẹp bằng cách xoá những chế độ ghi đè đó.

    Bạn có thể liên kết các ứng dụng OAuth chưa liên kết với một ứng dụng hiện có hoặc ứng dụng mới trên trang Ứng dụng OAuth của bảng điều khiển Firebase.

2. Thêm thư viện Đăng nhập bằng Google vào ứng dụng của bạn

  1. Trong dự án Xcode, hãy đặt phần phụ thuộc Đăng nhập bằng Google thành phiên bản 8.0.0 trở lên :

    Nhà quản lý đối tác chiến lược (SPM)

    Đặt quy tắc phụ thuộc của googlesignin-ios thành phiên bản 8.0.0 trở lên.

    CocoaPods

    Cập nhật Podfile:

    source 'https://github.com/CocoaPods/Specs.git'
    source 'https://github.com/firebase/SpecsDev.git'
    
    target 'YourAppName' do
      use_frameworks!
    
      pod 'GoogleSignIn','~> 8.0'
          :git => 'https://github.com/google/GoogleSignIn-iOS.git'
      pod 'GoogleSignInSwiftSupport'  # If you use SwiftUI.
    end
    

    Sau đó, chạy pod install và mở tệp .xcworkspace đã tạo.

  2. Trong Xcode, hãy thêm chức năng App Attest vào ứng dụng của bạn.

  3. Trong tệp .entitlements của dự án, hãy đặt môi trường Chứng thực ứng dụng thành production.

3. Khởi chạy tính năng Kiểm tra ứng dụng

Trong phương thức didFinishLaunchingWithOptions của uỷ quyền ứng dụng, hãy gọi GIDSignIn.sharedInstance.configure(completion:). Bạn nên gọi phương thức này càng sớm càng tốt trong vòng đời của ứng dụng để giảm thiểu độ trễ mà người dùng cảm nhận được.

import SwiftUI
import GoogleSignIn

class AppDelegate: NSObject, UIApplicationDelegate {
  func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
  ) -> Bool {
    #if targetEnvironment(simulator)
    // Configure for debugging.
    // See: https://developers.google.com/identity/sign-in/ios/appcheck/debug-provider
    #else
    GIDSignIn.sharedInstance.configure { error in
      if let error {
        print("Error configuring `GIDSignIn` for Firebase App Check: \(error)")
      }
    }
    #endif

    return true
  }
}

@main
struct YourAppNameApp: App {
  @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate

  // ...
}

Các bước tiếp theo

Sau khi cài đặt thư viện Kiểm tra ứng dụng trong ứng dụng, hãy bắt đầu phân phối ứng dụng đã cập nhật cho người dùng.

Ứng dụng khách đã cập nhật sẽ bắt đầu gửi mã thông báo App Check cùng với mọi yêu cầu mà ứng dụng đó gửi đến các điểm cuối xác thực của Google, nhưng các điểm cuối sẽ không yêu cầu mã thông báo phải hợp lệ cho đến khi bạn bật chế độ thực thi trong phần App Check của bảng điều khiển Firebase.

Chỉ số về màn hình

Tuy nhiên, trước khi bật chế độ thực thi, bạn nên đảm bảo rằng việc này sẽ không làm gián đoạn người dùng hợp pháp hiện tại. Mặt khác, nếu thấy có dấu hiệu sử dụng tài nguyên ứng dụng của bạn một cách đáng ngờ, thì bạn nên bật tính năng thực thi sớm hơn.

Để đưa ra quyết định này, bạn có thể xem các chỉ số App Check cho tính năng Đăng nhập bằng Google.

Bật tính năng thực thi App Check

Khi hiểu rõ cách App Check sẽ ảnh hưởng đến người dùng và bạn đã sẵn sàng tiếp tục, bạn có thể bật chế độ thực thi App Check.

Sử dụng App Check trong môi trường gỡ lỗi

Nếu muốn chạy ứng dụng trong một môi trường mà App Check thường không phân loại là hợp lệ (chẳng hạn như trình mô phỏng trong quá trình phát triển hoặc từ môi trường tích hợp liên tục (CI)) sau khi đăng ký ứng dụng cho App Check, bạn có thể tạo bản gỡ lỗi của ứng dụng sử dụng trình cung cấp gỡ lỗi App Check thay vì App Attest.

Hãy xem phần Sử dụng App Check với trình cung cấp gỡ lỗi.