2017-08-31 7 views
0

IDPによって開始されたSAML 2.0のSSOを実装しています。第三者IDPの使用はオプションではありません。 Windows Server 2012 R2に付属のADFS 3.0。 私たちはCRMツールを持っており、ユーザーは自分のADアカウントを使用して認証されています。ユーザーが別のシステムの顧客のアカウント詳細にアクセスしようとすると、IDPは顧客のユーザー名を渡す必要があります(これはSQLサーバーデータベースに格納されます)。私たちがSPに送付するSAML 2.0レスポンスにその詳細を含める方法はありますか?私たちがSPに送付するクレームの詳細はすべて、ADFSを使用している場合はADから来るべきであると理解しています。そうではありませんか? そうでない場合は、SPに送信する前に、コード(C#)のSAML 2.0レスポンスでクレームの詳細を変更する権限がありますか?私はSAML 2.0の送信はADFSで行い、アプリケーションロジックはそれ以上の制御がないと思った。SAML 2.0のSQL Serverからのクレームの詳細の追加(ADFS 3.0を使用)

編集:私はより多くの研究を行い、この投稿を見つけた。authentication against ADFS, authorization against sql serverこれはログインユーザーの資格情報を引き出しているようだ私のケースでは、私はあなたのアカウントに基づいて別のデータベースから顧客のユーザー情報を取得する必要があります。#これを行う方法はありますか?ここで

は、ユースケースである

  1. 内部ユーザー(利用者)は、顧客のためのADの資格情報
  2. 検索と当社のCRMアプリにログインすると、ユーザーがアクセスを試みる
  3. 顧客の口座番号を見つけます
  4. ユーザーはSP URL(顧客のユーザー名がクエリ文字列として渡されます)
  5. SPはIDPに対してHTTP POST SAML認証要求を行います。 sumeこれは RelayStateとbase64でエンコードされた投稿内
  6. これをキャプチャしてRelayStateを取得し、これをADFからWIF経由でオフロードする必要がありますか?
  7. 手順6が可能な場合は、生成されたSAML応答をADFSから戻して暗号化し、SPに送信できますか?手順6が不可能な場合、ADFSは暗号化されたデータを含むSAML応答をSPに返しますか?
  8. また、web ssoのフォームhtml要素内にSAMLリクエストとレスポンスをラップする必要がありますか?

sso_workflow

すべてのヘルプは、リンクを1として

答えて

1

をいただければ幸い、あなたは承認のためのSQL DBから属性を取得することができます。

これはクレームルールによるものです。複数のSQL DBを持っており、これらの属性は、すべてのSAMLトークン内のクレームとして追加されている各

から異なる属性を取得止めるものは何もありません

通常のクレームルール操作も使用できます。

+0

ありがとうございました@ nzpcmad.私は、SPからのsaml 2.0(HTTP POST)リクエストを受け入れることができる私のエンドポイントになるべきだろうと思っていました。このリンクhttps://en.wikipedia.org/wiki/SAML_2.0 SPポストリクエストとIDPポストレスポンスセクション)は、SPからのこのリクエストは

ポストになると言います。SPからこのPOSTをキャプチャして解凍し、WIF経由でADFS 3.0にオフロードするためのWeb APIエンドポイントを作成する必要がありますか?これをADFS 3.0にオフロードすると、SAML 2.0のレスポンスを暗号化して(そうすれば)、SPに送信されます。 –

+0

または、SAML 2.0レスポンスを返すようにADFSに依頼する方法はありますか?暗号化しての中にラップしてSPに送信しますか? –

+0

あなたの質問を、高いレベルで何をしようとしているのかを段階的に説明するユースケースで更新してください。私はいくらか混乱している。 – nzpcmad

関連する問題