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 cho bạn biết cách bật tính năng Kiểm tra ứng dụng trong ứng dụng iOS. Khi bật tính năng Kiểm tra ứng dụng, bạn giúp đảm bảo rằng chỉ ứng dụng của mình mới có thể thay mặt dự án truy cập vào điểm cuối OAuth 2.0 của Google. Xem Tổng quan về tính năng này.

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

Trước khi bắt đầu

  1. Đảm bảo bạn đang cài đặt 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 cách sử dụng thư viện Đăng nhập bằng Google.

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

  1. Bạn phải có một dự án Firebase để sử dụng tính năng Kiểm tra ứng dụng bằng 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 chính 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 dùng Firebase, thì tức là bạn đã có một dự án Google Cloud. Thêm Firebase vào dự án Google Cloud của bạn bằng cách chọn Firebase khi bạn tạo dự án mới trong bảng điều khiển của Firebase

    Hãy xem thêm bài viết: Mối quan hệ giữa các dự án Firebase và Google Cloud

  2. Nếu bạn chưa thực hiện, hãy thêm ứng dụng iOS vào dự án Firebase bằng cách sử dụng trang Cài đặt dự án trong bảng điều khiển của 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 trên bảng điều khiển của Firebase.

  4. Hãy đả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 đã huỷ liên kết các ứng dụng khách, bạn sẽ thấy thông báo trong phần Google Identity dành cho iOS trên trang Kiểm tra ứng dụng cho biết Bạn có n đã huỷ liên kết các ứng dụng OAuth và cần 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 các ứng dụng đó trong quy trình Kiểm tra ứng dụng, bạn sẽ thấy một thông báo có nội dung: Bạn có n nội dung ghi đè mà không có ứng dụng OAuth phù hợp. Bạn có thể dọn dẹp một cách an toàn bằng cách xoá các cơ chế ghi đè đó.

    Bạn có thể liên kết các ứng dụng 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 của Firebase.

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

  1. Trong dự án Xcode của bạn, hãy đặt phần phụ thuộc tính năng Đăng nhập bằng Google thành phiên bản 7.1.0-fac-beta-1.1.0:

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

    Đặt quy tắc phần phụ thuộc của googlesignin-ios thành phiên bản chính xác: 7.1.0-fac-beta-1.1.0.

    CocoaPods

    Cập nhật Podfile của bạn:

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

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

  2. Trong Xcode, hãy thêm tính năng Chứng thực ứng dụng 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 nhận ứ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 nhận thấy.

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 thư viện Kiểm tra ứng dụng được cài đặt trong ứng dụng của bạn, 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 Kiểm tra ứng dụng cùng với mọi yêu cầu mà ứng dụng đưa ra đến điểm cuối xác thực của Google, nhưng điểm cuối sẽ không bắt buộc mã thông báo phải hợp lệ cho đến khi bạn bật chế độ thực thi trong mục Kiểm tra ứng dụng trên bảng điều khiển của Firebase.

Theo dõi chỉ số

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

Để đưa ra quyết định này, bạn có thể xem chỉ số Kiểm tra ứng dụng cho tính năng Đăng nhập bằng Google.

Bật tính năng thực thi Kiểm tra ứng dụng

Khi đã hiểu rõ mức độ ảnh hưởng của tính năng Kiểm tra ứng dụ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 Kiểm tra ứng dụng.

Sử dụng tính năng Kiểm tra ứng dụng trong môi trường gỡ lỗi

Nếu sau khi đăng ký ứng dụng cho tính năng Kiểm tra ứng dụng, nếu muốn chạy ứng dụng trong môi trường mà tính năng Kiểm tra ứng dụng 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), thì bạn có thể tạo một bản dựng gỡ lỗi của ứng dụng sử dụng trình cung cấp trình gỡ lỗi Kiểm tra ứng dụng thay vì Kiểm thử ứng dụng.

Hãy 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 gỡ lỗi.