iOS での Google ログインの App Check

App Check は、未承認のクライアントが Google ログインを使用した認証を行うのを防ぐことで、アプリを不正使用から保護します。Google の OAuth 2.0 と OpenID Connect エンドポイントからアクセス トークンと ID トークンを取得できるのは、承認したアプリのみです。

App Check では、アプリを実行しているデバイスが Apple の App Attest サービスを使用して、OAuth 2.0 リクエストと OpenID Connect リクエストが信頼できるアプリから発信されていることを確認します。この証明書は、アプリが Google の認証エンドポイントに送信するたびに送信されます。App Check の適用を有効にすると、承認していないアプリからのリクエストと同様に、有効な証明書がないクライアントからのリクエストは拒否されます。

使ってみる

スタートガイド

仕組み

Google ログインで App Check を有効にすると、Google OAuth 2.0 エンドポイントにアクセスするたびに、次の処理が行われます。

  1. アプリが Apple のサービスとやり取りして、アプリの真正性の証明書を取得します。
  2. 証明書が App Check サーバーに送信されます。ここで、アプリに登録されているパラメータを使用して証明書の有効性を検証し、アプリに App Check トークンを返します。このトークンは、検証した証明書マテリアルに関する情報を保持する場合があります。
  3. App Check クライアント ライブラリが、リクエストとともにトークンを Google の認証エンドポイントに送信します。

App Check の適用が有効になっている場合、Google は最新の有効な App Check トークンを含むリクエストのみを受け入れます。

App Check によるセキュリティの強度

App Check では、Apple の App Attest サービスを利用してアプリの真正性を判断します。すべてではないものの、プロジェクトに対する不正行為を防止できます。App Check によってすべての不正行為を阻止できるわけではありませんが、App Check を統合することで、アプリの不正使用保護に向けた重要な一歩となります。

最初の手順

スタートガイドで、App Check のインストール方法と設定方法を確認します。