Skip to content

Conversation

@hinata-koizumi
Copy link
Collaborator

概要

AWS ALB 認証(Cognito 連携)をバックエンドで正しく処理するための改修を行いました。
これにより、認証済みユーザー情報の取得が確実になり、フロントエンドとの認証フロー(ログイン → ダッシュボード遷移)がスムーズになります。

変更内容

  1. ミドルウェアの強化(app/core/middleware.py

    • x-amzn-oidc-data ヘッダー(JWT)のパース処理を改善し、パディング不足にも対応することで安定してデコードできるようにしました。
    • ユーザー情報の抽出ロジックを強化し、usernamerole 属性を優先順位付きで取得するようにしました(Cognito/ALB 仕様を考慮)。
    • デコード失敗時にもプロセスがクラッシュしないよう、スタックトレース付きのエラーハンドリングを追加しました。
  2. ログインリダイレクトの実装(app/api/auth.py

    • 新規エンドポイント GET /api/v1/auth/login を追加し、呼び出された際にフロントエンドのダッシュボード(FRONTEND_URL/dashboard)へ 302 Redirect するようにしました。
    • ALB による認証フロー完了後、ユーザーを適切な画面へ誘導するための「着地点」として機能します。
  3. 設定の追加(app/core/settings.py

    • 環境変数 FRONTEND_URL を追加し、デフォルトを http://localhost:3000 としました。
    • ログインリダイレクト時の遷移先ベース URL として使用されます。

影響範囲

  • 認証ミドルウェア(ALB 経由のリクエスト処理)
  • 認証後のフロントエンド遷移(ダッシュボード画面)
  • 環境変数・設定値周り(FRONTEND_URL

テスト

  • ローカル環境(API_DEBUG=True)で起動し、モックユーザー (local_dev_user) が /api/v1/auth/me から取得できることを確認。
  • ローカルで /api/v1/auth/login にアクセスし、FRONTEND_URL/dashboard302 Redirect されることを確認。

AWS ALB認証(Cognito連携)をバックエンドで正しく処理するための改修を行いました。これにより、認証済みユーザー情報の取得が確実になり、フロントエンドとの認証フロー(ログイン→ダッシュボード遷移)がスムーズになります。\n\n主な変更点:\n1. ミドルウェアの強化 (app/core/middleware.py)\n- x-amzn-oidc-data ヘッダー(JWT)のパース処理を改善し、パディング不足にも対応することで安定してデコードできるようにしました。\n- ユーザー情報の抽出ロジックを強化し、username や role 属性を優先順位付きで取得するようにしました(Cognito/ALB仕様を考慮)。\n- デコード失敗時にもプロセスがクラッシュしないようエラーハンドリングを追加しました。\n\n2. ログインリダイレクトの実装 (app/api/auth.py)\n- 新規エンドポイント GET /api/v1/auth/login を追加し、呼び出された際にフロントエンドのダッシュボード(FRONTEND_URL/dashboard)へ 302 Redirect するようにしました。\n- ALBによる認証フロー完了後、ユーザーを適切な画面へ誘導するための「着地点」として機能します。\n\n3. 設定の追加 (app/core/settings.py)\n- 環境変数 FRONTEND_URL を追加し、デフォルトを http://localhost:3000 としました。\n- ログインリダイレクト時の遷移先ベースURLとして使用されます。
Copy link
Collaborator

@Git-Yuya Git-Yuya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1箇所だけコメントを残しました。

@hinata-koizumi hinata-koizumi force-pushed the feature/alb-cognito-fix-v2 branch from 8f11aa5 to d3eeb3b Compare December 21, 2025 07:48
@hinata-koizumi hinata-koizumi force-pushed the feature/alb-cognito-fix-v2 branch from d3eeb3b to 6f4f10f Compare December 21, 2025 07:52
@Git-Yuya Git-Yuya merged commit 6c07d76 into main Dec 21, 2025
2 of 4 checks passed
@hinata-koizumi hinata-koizumi deleted the feature/alb-cognito-fix-v2 branch January 7, 2026 05:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants