Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ついに(CDKで)Cognito実装した話

Avatar for Saito5656 Saito5656
October 24, 2025

 ついに(CDKで)Cognito実装した話

2025.10.24のJAWS-UG浜松AWS勉強会202510でのLT発表資料です。
お付き合いいただきありがとうございました。

Avatar for Saito5656

Saito5656

October 24, 2025
Tweet

More Decks by Saito5656

Other Decks in Programming

Transcript

  1. まとめ(このLTの本質情報 分 か っ た 分 か っ た 聞

    い て あ げ る か ら ね ー ね ー 聞 い て よ 、 つ い に Cognito の User pool 実 装 し ち ゃ っ て さ identity pool と ひ っ つ け て CDK 発 射 し て 、 で ち ゃ ん と 動 い て 、 あ と 大 事 ぽ い け ど Token て や や こ し い な CDK て SSM メ ン ド ク サ イ
  2. お題 1. まとめ 2. 自己紹介 3. CDKでCognito実装 - 自己開発アプリの概要 -

    認証方法変更 - Project構成 - 動作確認 - 振り返り 4. 少しだけアプリの話 5. 課題
  3. 1. まとめ 2. 自己紹介 3. CDKでCognito実装 - 自己開発アプリの概要 - 認証方法変更

    - Project構成 - 動作確認 - 振り返り 4. 少しだけアプリの話 5. 課題
  4. 1. まとめ 2. 自己紹介 3. CDKでCognito実装 - 自己開発アプリの概要 - 認証方法変更

    - Project構成 - 動作確認 - 振り返り 4. 少しだけアプリの話 5. 課題
  5. 振り返り 自分 既存webアプリのCognito統合ならびにcdkプロジェクト化を振り返り、依頼者の課題を分析します。 依頼者はエッジデバイスと周辺物理機器統合、それらを制御するソフトウェア開発、AWSバックエンドとの統合には約5年の経験 があり、ChatGPTを活用した新規構築においても経験値とノウハウを生かした要件定義と設計ドキュメントを準備することができ ます。しかし、フロントエンド構築、フロントエンド周りの認証、セキュリティ等の経験値は十分ではありません。 構築時の対話の中で、やり取りに繰り返しが多かった技術要素(アーキテクチャーの構想、クラスメソッドやパラメーターの扱い)、 依頼文章の精度が低かった技術要素を可視化して、経験値として吸収するために要点抽出したいと思います。 ChatGPT:まとめ ・繰り返しの多かった論点は「責務境界の明確化」「冪等化」「UI状態管理」「CDK出力の単一化」

    ・これらをテンプレ化・チェックリスト化することで、次回以降の往復を大幅に削減し、再利用可能な設計資産 として蓄積できます 依頼者のスキルプロファイルに基づく学習ショートプラン 1. 認証UX基礎:OAuth2/OIDCの用語整理(PKCE/SRP/Implicit差分)、SPAのトークン運用 2. Cognito実装の癖:Hosted UIとカスタムUIのトレードオフ、Callback/Sign-outの多環境管理 3. フロントの信頼境界:Local Storage禁止の背景、CSP/型安全(TS)とエラーバブルアップ 4. UI状態機械:Promiseのライフサイクル、キャンセル、リトライ、ユーザ通知の規約化 5. CDK設計:スタック依存の切り方、SSM集中管理、Context/Stageの流儀
  6. 一応Cognito-CloudFront統合の違いは比較 観点 Lambda@Edge あり 直接結合クライアント主導(+CF Func任意) 静的資産の秘匿 可能(未認証はダウンロード不可) (Amazon Web

    Services, Inc.) 不可(基本公開) 実装/運用の複雑さ 高い(リダイレクト/キャッシュ/Cookie設計) (Repost) 低い(標準フロー準拠、トラブルシュート容易) パフォーマンス エッジ実行で低レイテンシ。 関数実行分のオーバーヘッドあり 最小オーバーヘッド。Functionsを使わなければゼロ コスト 関数実行分が加算 低コスト(関数ほぼ不要) JWT検証の堅牢性 フル実装可(ライブラリ利用・RS256検証OK) (AWS ドキュメント) Functions だと制約あり(実装難度↑) (AWS ドキュメント) 変更への追随 エッジ関数の更新が必要(レプリケーション遅延) (AWS ドキュメント) フロント/バックの通常デプロイで対応しやすい 失敗パターン ループ/403/キャッシュ汚染の罠 (Repost) 認証漏れ=静的資産が見える設計上の限界
  7. 1. まとめ 2. 自己紹介 3. CDKでCognito実装 - 自己開発アプリの概要 - 認証方法変更

    - Project構成 - 動作確認 - 振り返り 4. 少しだけアプリの話 5. 課題
  8. 1. まとめ 2. 自己紹介 3. CDKでCognito実装 - 自己開発アプリの概要 - 認証方法変更

    - Project構成 - 動作確認 - 振り返り 4. 少しだけアプリの話 5. 課題