KeycloakとBFFパターンによるAngularアプリのセキュア化

2025-01-28

この記事では、Backend for Frontend (BFF)パターンを使用して、KeycloakとAngularを統合した安全なWebアプリケーションを構築する方法を示します。ブラウザに機密データを保存しないために、Keycloakとの認証フローは専用のBFFサーバーによって完全に処理されます。BFFはKeycloakとAngularアプリ間のセキュアな仲介者として機能し、OAuth2とPKCEフローを管理し、トークンを安全に保存し、機密操作(トークンの更新など)がブラウザに到達するのを防ぎます。Angularアプリは、BFFが提供する簡素化されたエンドポイントのみと対話し、Keycloakとの直接通信は行いません。この記事では、Keycloakの設定、BFFサーバーの設定(Express.jsを使用)、Angularアプリの開発について詳細に説明し、このアーキテクチャのセキュリティ上の利点を強調しています。