IDプロバイダーによって発行されたSAML2.0トークンを使用して認証を行うWebアプリケーションを作成したいと思います。この質問によると、PHPの世界にはsimpleSAMLphpを使用した実行可能なソリューションがあることを理解しています。
Javaの世界に同等の方法はありますか?servlet
一般的なコンテナまたはアプリケーションサーバー用のすぐに使用できるソリューションやチュートリアルはありますか?
IDプロバイダーによって発行されたSAML2.0トークンを使用して認証を行うWebアプリケーションを作成したいと思います。この質問によると、PHPの世界にはsimpleSAMLphpを使用した実行可能なソリューションがあることを理解しています。
Javaの世界に同等の方法はありますか?servlet
一般的なコンテナまたはアプリケーションサーバー用のすぐに使用できるソリューションやチュートリアルはありますか?
OpenSAMLプロジェクトを試すことができます; SAMLトークンを作成および検証するためのJavaライブラリを提供します。
あなたは2つの製品を見ることができます:
どちらもかなり印象的な機能リストを備えており、SSOエージェントの幅広いリストを提供します。
エージェントアプローチの主な利点は、認証プロセスがエージェントとSSOインフラストラクチャによって処理されるため、アプリケーションで認証プロセスを気にする必要がないことです。
独自のSAML2サービスプロバイダーを開発する場合は、OpenSAMLを使用するのが最善の方法です。欠点は、このライブラリが十分に文書化されていないことです。それでも、Web上のOpenSAMLに関するいくつかのチュートリアルを簡単に見つけることができます。
たとえば、サーブレットフィルタとして実装して、アプリケーションコードがSAMLに関連付けられないようにすることができます。
最近、アプリケーションにSAML認証を実装したので、OASISSAML2の技術概要ドキュメントで最も役立つ情報を見つけました。非常に読みやすく、渡されるXMLメッセージの実際の例が含まれています。
セクション5.1では、アプリケーション(サービスプロバイダーまたはSP)がリモートIDプロバイダー(Idp)に認証を要求する相互作用について説明します。
これはしばらく訪問されていないので、より最新の回答を提供します:
すでにSpringプロジェクトを実行している場合は、SpringSecuritySAMLで成功しています。SAML拡張機能を使用するために、Spring Securityでアプリを保護する必要はありませんが、少し簡単になります。
必要なものはすべてOpenSSOサイトにあり、OpenAMが後継になっています。