Skip to content

Conversation

@vintage-luvu
Copy link
Collaborator

@vintage-luvu vintage-luvu commented Jan 3, 2026

概要

バックエンド側で、ALB認証Cookieを削除した上でCognito Hosted UIのlogoutへリダイレクトするログアウトエンドポイントを実装する

変更内容

  • app/main.py に GET /api/logout を追加
  • 環境変数 COGNITO_DOMAIN / COGNITO_CLIENT_ID / LOGOUT_REDIRECT_URI を用いて Cognito logout URL(https://{COGNITO_DOMAIN}/logout?...)を生成
  • urllib.parse.urlencode で client_id と logout_uri をクエリに付与
  • AWSELBAuthSessionCookie および AWSELBAuthSessionCookie-0〜-3 を Set-Cookie(Max-Age=0 + expires=0)で失効
  • 失効Cookieに path=/, Secure, HttpOnly, SameSite=Lax を付与
  • RedirectResponse(status_code=302) で Cognito logout へリダイレクト(Cookie削除ヘッダ付き)

影響範囲

  • /api/logout の挙動(Cookie削除 + Cognito logout への302リダイレクト)
  • 環境変数設定(COGNITO_DOMAIN, COGNITO_CLIENT_ID, LOGOUT_REDIRECT_URI)
  • ALB認証Cookie(AWSELBAuthSessionCookie*)のブラウザ保存状態

テスト

  • 動作手順:
    • ログイン済み状態で GET /api/logout を実行する
    • ブラウザのCookieから AWSELBAuthSessionCookie* が削除されていることを確認
    • Cognito logout を経由して LOGOUT_REDIRECT_URI にリダイレクトされることを確認
  • 動作結果:
    • AWSELBAuthSessionCookie* が失効し、Cognito logout へ302リダイレクトされた後、LOGOUT_REDIRECT_URI に遷移する

@vintage-luvu vintage-luvu requested a review from Git-Yuya January 3, 2026 11:19
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.

まだ中身の実装を確認できていませんが、app/api/auth.pyの中で/logoutエンドポイントを作成するようにお願いします🙇‍♂️

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.

3 participants