
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Configure the case study application
/ 50
Configure Identity Platform Authentication
/ 50
このラボでは、Identity Platform を使用してアプリケーションに認証を追加する方法を説明します。認証によりユーザーを識別し、ユーザーが行うことのできるアクションの範囲を決定します。詳しくは、認証の概要をご覧ください。
Identity Platform では、ユーザーの登録とログインを管理するカスタマイズ可能なドロップイン認証サービスを利用できます。管理 SDK(Node.js、Java、Python など)のほか、さまざまなアプリ SDK(Android、iOS、Web)に対応しているため、開発作業や管理作業が簡素化されます。Identity Platform の詳細については、Identity Platform をご覧ください。
このラボでは、オンライン クイズ アプリケーションを使用します。このアプリケーションに Identity Platform の認証を追加して、メールアドレスとパスワードのシンプルな認証情報を使用するように構成します。最後に、ユーザーがクイズを行う前に登録とログインが必要となるよう構成します。
このラボでは、次のタスクを行います。
こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。
このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。 左側の [ラボの詳細] ペインには、以下が表示されます。
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。
ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
[ラボの詳細] ペインでもユーザー名を確認できます。
[次へ] をクリックします。
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
[ラボの詳細] ペインでもパスワードを確認できます。
[次へ] をクリックします。
その後次のように進みます。
その後、このタブで Google Cloud コンソールが開きます。
Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。
Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン をクリックします。
ウィンドウで次の操作を行います。
接続した時点で認証が完了しており、プロジェクトに各自の Project_ID、
gcloud
は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。
出力:
出力:
gcloud
ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。
Cloud Shell ツールバーを使って、Cloud Shell を新規ウィンドウに移動します。それには [新しいウィンドウで開く] アイコン をクリックしてから [エディタを開く] アイコン をクリックしてコードエディタを起動します。
Cloud Shell ターミナルで次のコマンドを実行してプロジェクト ID を構成します。このとき <YOUR-PROJECT-ID>
はラボのプロジェクト ID に置き換えます。
Cloud Shell を承認します。
このタスクでは、クイズ アプリケーションのクローンを作成し、構成して実行します。
GitHub.com のリポジトリにあるアプリケーション スケルトンのクローンを作成します。
作業ディレクトリへのショートカットとしてソフトリンクを作成します。
このラボのサンプル ファイルが含まれているディレクトリに移動します。
次のコマンドを実行して、リージョンを us-central
から、実際に割り当てられているデフォルトのリージョンに変更します。
アプリケーションを構成します。
このスクリプト ファイルを実行すると、以下の処理が行われます。
gs:[Project-ID]-media
という名前の Cloud Storage バケットを作成する。GCLOUD_PROJECT
と GCLOUD_BUCKET
の 2 つの環境変数をエクスポートする。virtualenv
Python 環境を作成して有効にする。> pip install -r requirements.txt
を実行する。[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
アプリケーションを実行します。
このラボでは後で Cloud Shell ウェブ プレビュー ドメインが必要となるため、このウィンドウは開いたままにしておきます。
このタスクでは、ケーススタディ用のアプリケーション コードを確認します。Cloud Shell にインストールされている nano
や vim
などのシェル エディタや、Cloud Shell コードエディタを使用できます。
このラボでは、Cloud Shell コードエディタを使用してこのクイズ アプリケーションのコードを確認します。
コード エディタの左側にあるファイル ブラウザ パネルを使用して、/firebase/start
フォルダに移動します。
さらに、...quiz/webapp/static/client/
を開き、index.html
ファイルをクリックします。
このファイルは AngularJS シングルページ アプリケーション(SPA)の単一のページです。アプリケーションのライブラリとコード用の <script></script>
タグと、SPA が動的に出力内容をレンダリングするマークアップが含まれます。
...quiz/webapp/static/client/app/auth/
フォルダにある qiq-login-template.html
ファイルを選択します。
このファイルには、ログイン コンポーネント用の AngularJS のテンプレートが含まれます。また、いくつかのテキストボックスと 1 つのボタンも含まれています。ボタンにはイベント ハンドラが設定されており、クリック時にコードが実行されます。
同じフォルダにある qiq-login.js
ファイルを選択します。
このファイルには、AngularJS のコンポーネントが含まれています。このコンポーネントにより、ユーザーはアプリケーションにログインしたり、登録ページに移動したりできるようになります。
ここでは、メールアドレスとパスワードを使用してユーザーがログインできるように Identity Platform を構成します。その後、クイズ アプリケーションへのログインに使用するユーザーを作成します。
Google Cloud コンソールのナビゲーション メニュー()で、[Identity Platform] をクリックします。
[Identity Platform を有効化] をクリックします。
Google Cloud コンソールに Identity Platform のページが表示されます。
[プロバイダを追加] をクリックします。
[ログイン方法] ウィンドウの [プロバイダの選択] で、[メール / パスワード] を選択します。
[有効] をクリックします。
[承認済みドメイン] ペインで、[ドメインの追加] をクリックします。
実行中のクイズ アプリケーションに戻り、次のような形式のドメインをコピーします
[ドメイン] フィールドにドメインを貼り付けます。
貼り付けたドメインを変更して、ドメイン名のみが [ドメイン] フィールドに表示されるようにします。
「https://」とドメイン名に続く文字列(スラッシュを含む)を削除します。ドメイン名は末尾が cloudshell.dev になっている必要があります。
[保存] をクリックします。
[新しい ID プロバイダ] ウィンドウで [保存] をクリックします。
[保存] ボタンが表示されるまでスクロールが必要になる場合があります。
[ID プラットフォーム] ペインで、[ユーザー] をクリックします。
[ユーザーを追加] をクリックします。
[ユーザーを追加] ダイアログ ボックスで、次のように指定します。
メール |
user1@example.com |
パスワード |
abc123! |
[追加] をクリックします。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
このタスクでは、Identity Platform の構成をクライアントサイド ウェブ アプリケーションに適用します。
ナビゲーション パネルで、[プロバイダ] をクリックします。
[アプリケーション設定の詳細] をクリックします。
[アプリケーションの構成] ダイアログ ボックスで、Identity Platform のマークアップをコピーします。
[閉じる] をクリックします。
Cloud Shell コードエディタで ...webapp/static/client/
にある index.html
を開きます。
ページの下部にある <script></script>
タグの直前に、構成のマークアップを貼り付けます。
index.html
ファイルを保存します。
このタスクでは、前のステップで作成した Identity Platform の認証情報を使用してクイズ アプリケーションにログインできることを確認します。その後、クイズ アプリケーションに新しいユーザーを登録し、認証情報が Identity Platform に追加されることを確認します。
クイズ アプリケーションに戻り、ブラウザを更新します。
ナビゲーション バーで、[Take Test] をクリックします。
ナビゲーション バーで、[GCP]、[People]、[Places] のいずれかをクリックします。
ナビゲーション バーで、次の無効な認証情報を入力します。
メール |
user2@example.com |
パスワード |
abcd1234$ |
[Login] をクリックします。
前のタスクで作成した次の認証情報を入力します。
メール |
user1@example.com |
パスワード |
abc123! |
[Login] をクリックします。
ユーザーのメールアドレスがナビゲーション バーに表示され、最初の質問が提示されます。
ナビゲーション バーで、[Logout] をクリックします。
[Register] のリンクをクリックします。
新しいフォームで、次の認証情報を入力します。
メール |
user2@example.com |
パスワード |
abcd1234$ |
[Register] をクリックします。
複雑なパスワードを使用する必要があります。要件を満たすパスワードを入力すると、ログインが完了し、GCP のクイズにリダイレクトされます。
問題に解答し、解答を送信できます。
ナビゲーション バーで、[Logout] をクリックします。
Google Cloud コンソールの [ID プラットフォーム] ナビゲーション パネルで、[ユーザー] をクリックします。
このラボでは、Identity Platform を使用して、アプリケーションのメールアドレスとパスワード登録を有効にする方法を学習しました。
このセルフペース ラボは、「Application Development - Python」クエストの一部です。クエストとは学習パスを構成する一連のラボのことで、完了すると成果が認められて上のようなバッジが贈られます。バッジは公開して、オンライン レジュメやソーシャル メディア アカウントにリンクできます。このラボの修了後、このラボが含まれるクエストに登録すれば、すぐにクレジットを受け取ることができます。受講可能な全クエストについては、Google Cloud Skills Boost カタログをご覧ください。
マニュアルの最終更新日: 2023 年 10 月 23 日
ラボの最終テスト日: 2023 年 10 月 23 日
Copyright 2025 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
One lab at a time
Confirm to end all existing labs and start this one