Trang này hướng dẫn bạn 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 sẽ giúp đảm bảo rằng chỉ ứng dụng của bạn mới có thể thay mặt dự án truy cập vào các đ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 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ống 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 rủi ro gian lận.
Trước khi bắt đầu
Đảm bảo bạn có Xcode 12.5 trở lên.
Tích hợp tính năng Đăng nhập bằng Google vào ứng dụng iOS bằng cách sử dụng thư viện Đăng nhập bằng Google.
1. Thiết lập dự án
Bạn có thể bật tính năng Kiểm tra ứng dụng trong hoặc trong Bảng điều khiển Firebase. Bạn không cần bật tính năng này ở cả hai vị trí, chỉ cần một vị trí là đủ.
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:- Bạn phải chỉ định mã nhận dạng 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ì mã này có thể phân giải đến nhiều ứng dụng. Điều này có nghĩa là mã gói không được chứa ký hiệu dấu hoa thị (*).
Sau khi bật tính năng Kiểm tra ứng dụng, bạn sẽ bắt đầu thấy các chỉ số liên quan đến các yêu cầu OAuth từ ứng dụng trong chế độ xem chỉnh sửa của ứng dụng OAuth. Các yêu cầu từ các nguồn chưa được xác minh sẽ không bị chặn cho đến khi bạn thực thi tính năng Kiểm tra ứng dụng. Thông tin trong 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ể thấy các lỗi liên quan đến tính năng Kiểm tra ứng dụng khi bật tính năng Kiểm tra ứng dụng 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ã gói và mã 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ã gói.
Bảng điều khiển Firebase
Bạn phải có một dự án Firebase để sử dụng tính năng Kiểm tra ứng dụng 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 Firebase khi bạn tạo một dự án mới trong bảng điều khiển của Firebase
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 Project settings (Cài đặt dự án) của bảng điều khiển Firebase.
Đă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 dịch vụ 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.
Đả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 ứng dụng, bạn sẽ thấy thông báo trong phần Google Identity for iOS (Giao diện nhận dạng của Google cho iOS) trên trang Kiểm tra ứng dụng, thông báo này có nội dung "Bạn đã huỷ liên kết n ứng dụng OAuth cần thiết phải 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 trong tính năng Kiểm tra ứng dụng, bạn sẽ thấy thông báo "Bạn có n ghi đè không có ứng dụng OAuth nào khớp". Bạn có thể xoá các phần ghi đè đó một cách an toàn.
Bạn có thể liên kết ứng dụng chưa liên kết với một ứng dụng hiện có hoặc 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
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ần phụ thuộc của
googlesignin-ios
thành phiên bản8.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 đó, hãy chạy
pod install
và mở tệp.xcworkspace
đã tạo.Trong Xcode, hãy thêm chức năng Chứng thực ứng dụng vào ứng dụng của bạn.
Trong tệp
.entitlements
của dự án, hãy đặt môi trường Chứng thực ứng dụng thànhproduction
.
3. Khởi chạy tính năng Kiểm tra ứng dụng
Trong phương thức didFinishLaunchingWithOptions
của ứng dụng uỷ quyền, 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 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 tính năng thực thi trong phần App Check của bảng điều khiển Firebase.
Theo dõi chỉ số
Tuy nhiên, trước khi bật tính năng thực thi, bạn nên đảm bảo rằng việc này sẽ không gây gián đoạn cho những người dùng hợp pháp hiện tại. Mặt khác, nếu nhận thấy có hành vi sử dụng tài nguyên ứng dụng đáng ngờ, bạn nên bật tính năng thực thi sớm hơn.
Để giúp đưa ra quyết định này, bạn có thể xem các chỉ số của Công cụ 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 App Check
Khi đã hiểu rõ ảnh hưởng của tính năng Kiểm tra ứng dụng đối với người dùng và sẵn sàng tiếp tục, bạn có thể bật tính năng 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
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ột 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), bạn có thể tạo một bản gỡ lỗi của ứng dụng sử dụng trình cung cấp gỡ lỗi Kiểm tra ứng dụng thay vì Chứng thực ứng dụng.
Xem phần Sử dụng tính năng Kiểm tra ứng dụng với trình cung cấp gỡ lỗi.