タイトルのような質問がチラホラあったので、ちょっと書こうかなと。
クレームベース認証ですが、そもそも、皆、SAML2、WS-FED、OAuth2、OIDCがどんなものなのか?あまり詳しくないので、解らないと思うのですが、Web標準のプロトコルではあるものの、様々なプロファイル(≒ 目的毎の使い方)がありますし、プロダクト毎に方言が在るので、汎用的に実装するにはプロトコル知識とプロダクト仕様を知る必要があります。
実装には、ライブラリ型と統合認証基盤型(エージェント型とリバース・プロキシ型)があり、ライブラリ型のものは、IdP/STS毎(や言語毎)にライブラリは別になっているケースが多いです。故に、各アプリケーションに個別に組み込む必要があり、この組み込みが大変なので、統合認証基盤型(エージェント型やリバース・プロキシ型)を採用するケースもありますが、コレはコレで大掛かり&高額になります。
また、2要素認証も、Web認証基盤とか、RADIUSとか、そういう土台の上にアドオンしていく形になるので、単純に、何かのOSSが1つあれば、2要素認証機能をアドオン出来る。というレベル感ではないですよね。それぞれの処理を、土台の上に、組み込まなくてはいけません(そして根本的な話ですが、2要素認証の2要素目に何を採用するのか?と言う話があります。例えば、メアド、SMS、Push通知、WebAuthn等々)。
昔から思っているのですが、認証基盤って、RDBMSみたいなミドルウェアと言うよりも、ウワモノ感あるんですよね。
...と言うのも、コレは、
- 前提となるアーキテクチャが異なった
土台の上に認証機能を構築・実装したり、
- 同一のアーキテクチャ上でも、
クライアント・サーバ間で
プロトコル仕様の範囲外の会話をしたり、
しなくてはならないケースが多いから。
という気がしています。
...なんと言うか、書いてて思ったんですが、タイトルのような質問をしてくる人、あまりに解ってないので、回答者が、ソコから説明しなくてはならず、辛ドいと言う話のような気がしました(その位置まで知識レベルを上げて来ないで質問してきている以上、「あなたが思っている程、簡単に出来ないよ。」みたいな回答にしかならない。みたいな。)。