2017-06-02 15 views
1

私は、スプリングセキュリティとmvcフレームワークを使用して開発されたポータルアプリケーションを持っています。このポータルアプリケーションは、認証のためにIDP(SpringセキュリティとSpring SSLを使用して開発された)に接続します。ユーザー認証が成功した場合、ユーザーは外部アプリケーションに複数のリンクが提供されているホームページに移動します...ユーザーがアプリケーションリンクをクリックすると、ユーザーはログインページに挑戦することなく、それぞれのアプリケーションに正常にナビゲートする必要があります。Spring saml SSO

その他のアプリケーションは、ストラットとスプリングセキュリティを使用して開発されています。ポータルからリンクがクリックされたときに、samlトークンまたはコンテキストが他のアプリケーションに渡され、ログインを要求しないようにするにはどうすればよいですか。

ご協力いただきまして誠にありがとうございます。

答えて

2

SAMLのための最も一般的な流れは次のようなものです以下:認証されていないユーザーから

  1. アプリケーション(と呼ばれるサービスプロバイダ、またはSP)(ビジネスリソースに対する要求のように、すべての要求)要求を受信
  2. ユーザーがIdPに認証されていない(SSOにログインしていない)場合は、ログインフォームが表示されます。また、ユーザーが(通常はhttpリダイレクト経由で)IDPにリダイレクトされます。 IdPを持つユーザーセッションがあるまでIdPによってログインが管理されます
  3. IdPは既にIdPで認証されているか(正しいユーザー/パスワードが入力されているため)、IdPはクレームトークンを発行し、そのトークンを持つユーザーにSPのアサーションコンシューマーサービス
  4. アサーションコンシューマサービス(実質的にAPIエンドポイントのみ)は、SAMLトークンを受け取り、検証し、ユーザーとの独自のアプリケーションセッションを作成します。ここで、ユーザがアプリケーション(SP)への次の要求に応じたアプリケーション(SP)
  5. に認証されたSAMLは、セッションが既に存在する場合、その

注関与しないので、セッションが既に存在しますIdPでは、このすべてがユーザーにとってシームレスです。多くのリダイレクトが行われますが、ユーザーは資格情報を入力せずにアプリケーションにアクセスします。

あなたの質問に対する簡単な答えは、外部アプリケーションがSAML SSOをサポートする必要があり、IDプロバイダに登録する必要があるということです。その場合、IdPを使用してユーザーを認証し、持ってる。

関連する問題