認証を入口で確かめる。
Google OIDC / AWS 認証デモ
画面は静的配信。保護APIはGoogleのIDトークンを検証してから、Lambdaへ処理を渡します。
画面の表示と、APIの実行を分離
画面を開く
ブラウザ → CloudFront → 非公開S3
HTML・CSS・JavaScriptの配信だけ。API GatewayもLambdaも呼び出しません。Google認証SDKの読み込みはGoogleへ接続します。
保護APIを使う
- GoogleInternal設定で組織外のログインを制限し、本人のIDトークンを発行。
- API GatewayGoogleの署名・発行元・このアプリ向けか・有効期限を検証。不正ならここで拒否。
- Lambda検証済みメールを対象メンバー一覧と照合。登録されたメンバーだけに結果を返します。
API通信はCloudFrontの /api/me → API Gatewayへ転送します。認証結果はキャッシュしません。
実際にログインして確かめる
利用対象として登録されたGoogleアカウントを使用してください。
ログインを準備しています
対象メンバーとして認証された方は、AWSアカウント 945092530989 のコンソールへ閲覧専用で入れます。ログインURLは画面やログに表示しません。AWSからのログアウトはAWSコンソール側で行ってください。
認証とAPIの結果
未ログイン。画面の表示だけではLambdaは動きません。
入口での拒否を試す
ログインしていても、以下のボタンはトークンなし/不正トークンでAPIを呼びます。
未実施
期待する応答:401 Unauthorized