API バックエンドへのアクセスに対する認証を義務付けるには、必要なクライアント ID を取得し、適切な API デコレータ引数を使用してそれをバックエンドに渡す必要があります。
Android
OAuth 2.0 Android クライアント ID を作成するには、証明書のキー フィンガープリントが必要です。Android Studio を使用する場合、デバッグ キーストアとデバッグキーが自動的に作成されます。デバッグキーをテストに使用することはできますが、本番環境ではリリースキーを使用する必要があります。
デフォルトのデバッグ キーストアのパスワードは android
、キーエイリアスは androiddebugkey
です。Linux と macOS の場合、デフォルトの場所は ~/.android/debug.keystore
です。
- Android アプリケーションのデバッグキーまたはリリースキーをまだお持ちでない場合は、このキーを生成します。Android Studio を使用している場合、Android プロジェクトを初めてビルドするときに、デバッグ キーストアにデバッグキーが自動的に生成されます。
-
Linux または macOS のターミナル ウィンドウで、Java SDK に付属の
keytool
を次のように使用してキーのフィンガープリントを取得できます。 出力でフィンガープリントは次のように表示されます。keytool -exportcert -alias androiddebugkey -keystore path-to-debug-or-production-keystore -list -v
DA:39:A3:EE:5E:6B:4B:0D:32:55:BF:EF:95:60:18:90:AF:D8:07:09
-
上記の
keytool
コマンドの実行後に表示されるキー フィンガープリントをコピーして保存します。Google Cloud コンソールで Android クライアント ID を生成するには、フィンガープリントを入力する必要があります。 - Google Cloud コンソールで、[認証情報] ページに移動します。
- プロジェクト リストから、API が含まれているプロジェクトを選択します。
- 今回初めてこのプロジェクトでクライアント ID を作成する場合は、次のサブステップに従って OAuth 同意ページに進みます。それ以外の場合は、後続のステップに進みます。
- [OAuth 同意画面] をクリックします。
- [アプリケーション名] フィールドに名前を入力します。
- 必要に応じて残りのフィールドに入力します。
- [保存] をクリックします。
- [認証情報の作成] プルダウン リストで、[OAuth クライアント ID] を選択します。
- アプリケーションの種類は [Android] を選びます。
- [名前] に、実際のクライアント ID の名前を入力します。
- [署名証明書フィンガープリント] に、すでに取得したフィンガープリントを入力します。
- [パッケージ名] に、
AndroidManifest.xml
ファイルで指定されている Android アプリケーション パッケージ名を入力します。 - [作成] をクリックします。
生成されたクライアント ID は、API バックエンドとクライアント アプリケーションで使用されます。
ウェブ クライアント
- Google Cloud コンソールで、[認証情報] ページに移動します。
- プロジェクト リストから、API が含まれているプロジェクトを選択します。
- 今回初めてこのプロジェクトでクライアント ID を作成する場合は、次のサブステップに従って OAuth 同意ページに進みます。それ以外の場合は、後続のステップに進みます。
- [OAuth 同意画面] をクリックします。
- [アプリケーション名] フィールドに名前を入力します。
- 必要に応じて残りのフィールドに入力します。
- [保存] をクリックします。
- [認証情報の作成] プルダウン リストで、[OAuth クライアント ID] を選択します。
- アプリケーションの種類は [ウェブ アプリケーション] を選択します。
- [名前] に、実際のクライアント ID の名前を入力します。
-
[承認済みの JavaScript 生成元] で、下記のいずれか 1 つを入力します。
-
http://localhost:8080
(バックエンドをローカルでテストする場合) -
https://YOUR_PROJECT_ID.appspot.com
(バックエンド API を本番環境の App Engine にデプロイする場合、YOUR_PROJECT_ID
は実際の App Engine プロジェクト ID で置き換えます)。
-
- [作成] をクリックします。
生成されたクライアント ID は、API バックエンドとクライアント アプリケーションで使用されます。
次のステップ
Android または JavaScript アプリケーションで認証をサポートする方法については、以下のトピックをご覧ください。