2013-12-11 12 views
5

私はユーザ登録と認証を管理できる非常に単純なJava Webアプリケーションを持っています。このアプリケーションをSAML IDプロバイダとして機能させたいと思います。次に、別のシンプルなWebアプリケーションを作成します。ユーザーは、使用する前に認証を受ける必要があります。だから、基本的に私の最初のアプリはIdPになり、私の2番目のアプリはサービスプロバイダーになりたい。ワークフローは次のようにする必要があります。ユーザーはapp2に移動します。 App2は、ユーザーが認証されるapp1にユーザーをリダイレクトします。認証が成功すると、app1はユーザーに完全アクセス権を持つapp2にリダイレクトします。私は比較的新しいSAMLです。私が苦痛なくそれをするのを助けるチュートリアルはありますか?IDプロバイダとして動作するようにJavaアプリケーションを設定する方法

答えて

4

すぐに使えるSAML IDプロバイダの実装であるShibbolethを見てください。認証ソース(これが可能であるかどうかわからない)として使用するユーザー・データ・モデルを使用する

  1. 設定のShibboleth:あなたはすでにあなたがアイデンティティプロバイダは、次の2つのオプションを提供していますとして動作するアプリケーションを、持っているという事実、
  2. Shibbolethの実装に使用されるJavaライブラリOpenSAML-Javaを使用してください。これは、SAML 2.0のWeb SSOプロファイルに関するSAMLアサーションの処理(作成、検証、交換)のみを提供します。 App2とApp1では、自分でWeb Requestリダイレクトのプロセスを作成する必要があります。

SAMLはそれほど苦痛ではなく、OpenIDやOAuthなどの他のより単純な標準の例としても機能する包括的な標準です(いくつかの原則は共通していますが、はるかに単純です)。それはここで

のJava RMI対CORBAていたよりも、そのほとんど同じストーリーが SAML Web Browser SSO Profileを使用する際に行われているものをいくつかの基本的な理解を得るために良い出発点である:

1

あなたの質問には2つの部分があります。

あなたが欲しい:STSを書く

  • JavaのSAMLサーバ(STS)
  • JavaのSAMLクライアント

は非自明な問題です。既存の実装を使う方が良いかもしれません。 OpenAMも可能です。アイデンティティリポジトリのための多くのオプションをサポートしています。

クライアントに関しては、SAML : SAML connectivity/toolkitを参照してください。

関連する問題