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