このページでは、iOS アプリで App Check を有効にする方法について説明します。アプリを有効にすると、 ご自身のアプリだけが Google の OAuth 2.0 にアクセスできるようにしてください エンドポイントを委任できます。この機能の概要をご覧ください。
App Check は App Attest を使用して、OAuth 2.0 本物のアプリから送信されているからです App Check では、不正行為のリスクを分析するために App Attest は使用されません。
始める前に
Xcode 12.5 以降を使用していることを確認します。
Google ログインを iOS アプリに統合するには、 Google ログイン ライブラリ。
1. プロジェクトを設定する
App Check を使用するには、Firebase プロジェクトが必要です Google ログイン。
アプリですでに Firebase を使用している場合は、同じプロジェクトを使用してください。
アプリで Google ログインを使用しているが Firebase を使用していない場合、 Google Cloud プロジェクトですGoogle Cloud プロジェクトに Firebase を追加する Google Cloud コンソールで新しいプロジェクトを作成するときに Firebase コンソール
iOS アプリを Firebase プロジェクトに追加します(まだ行っていない場合)。 Firebase コンソールの [プロジェクトの設定] ページ。
次の場所で App Attest プロバイダで App Check を使用するようにアプリを登録します。 Firebase コンソールの [App Check] セクション。
プロジェクトのすべての OAuth クライアントがアプリにリンクされていることを確認します。
クライアントのリンクを解除した場合は、Google Identity and Access Management [App Check] ページの [iOS の場合: n 個のリンクされていない OAuth クライアント(追加設定が必要です)。
また、OAuth クライアントを設定後に一部のみ削除した場合も、 App Check で、[n OAuth クライアントが存在しない場合のオーバーライドをご覧ください。次のコマンドで安全にクリーンアップできます。 オーバーライドを削除できます
リンクされていないクライアントは、 Firebase コンソールの [OAuth クライアント] ページ。
2. ベータ版の Google ログイン ライブラリをアプリに追加する
Xcode プロジェクトで、Google ログインの依存関係を version に設定します。
7.1.0-fac-beta-1.1.0
:SPM
googlesignin-ios
の依存関係ルールを正確なバージョンに設定します。7.1.0-fac-beta-1.1.0
。CocoaPods
Podfile
を更新します。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
次に、
pod install
を実行し、作成された.xcworkspace
ファイルを開きます。Xcode で、アプリに App Attest 機能を追加します。
プロジェクトの
.entitlements
ファイルで、App Attest 環境を次のように設定します。production
。
3. App Check を初期化する
アプリのデリゲートの didFinishLaunchingWithOptions
メソッドで、次を呼び出します。
GIDSignIn.sharedInstance.configure(completion:)
。このメソッドを呼び出して、
ユーザーが認識するレイテンシを最小限に抑えるために、できる限り早い段階で実装することをおすすめします。
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
// ...
}
次のステップ
App Check ライブラリがアプリにインストールされたら、アプリの配布を開始します。 ユーザーに配布できます。
更新されたクライアント アプリは、アップデートが行われるたびに App Check トークンと 発行されますが、エンドポイントは認証されません。 App Check で適用を有効にするまで、トークンは有効である必要があります セクションに移動できます。
指標をモニタリングする
ただし、適用を有効にする前に、適用を有効にしても、適用を有効にすることが 既存の正規ユーザーを妨害します一方で アプリリソースの不審な使用に気づいた場合は、違反措置の適用を できます。
これを決定するには Google ログインの App Check の指標
App Check の適用を有効にする
App Check がユーザーに与える影響を理解し、 App Check の適用を有効にします。
デバッグ環境で App Check を使用する
App Check にアプリを登録した後で、そのアプリを実行したい場合 App Check で通常は有効と分類されない環境 継続的インテグレーション(CI)環境から実行することも、 App Check デバッグ プロバイダを使用するアプリのデバッグビルドを作成できます。 使用します
デバッグ プロバイダで App Check を使用するをご覧ください。