はじめに ほとんどのWebサービスにおいて、ユーザの認証機能は必要です。 ここでいう認証機能とは以下の機能群を指します。 サインアップ サインイン・サインアウト パスワード変更 パスワード初期化 昔のWebサービスは、これら認証機能を各サービスごとに独自に実装していました。 しかしパスワードのような秘匿情報を各サービスごとに保持することはセキュリティリスクを高めます。また認証機能を各サービスごと開発することは開発コストの増加につながります。さらにユーザーはサービスごとに使用しているアカウントを把握する必要がありますので利便性が低下します。 その結果、認証機能を外部システムに移譲したい、すでにある認証基盤を流用したい、などの要求がありました。 これらの要求に応えるように、OAuth 2.0やOpenID Connectなどのフェデレーション認証方式の確立やシングルサインオン等、認証機能に関わ