2017-05-30 11 views
1

私はSSOを初めて使用しており、私の組織と他の会社との間で共同作業をしようとしています。私が理解しているところは、インターネットに公開されているSSOサーバーに資格データを投稿し、成功した場合、ユーザーに関するデータを使ってC#MVC Webアプリケーションにデータをポストすることです。SSOメタデータとC#MVC

しかし、他の組織は、私が提供したSAML xmlメタデータファイルを要求しました。その後、彼は自分のメタデータファイルを返しました。

なぜ彼がファイルを要求したのか、彼自身もファイルを提供しているのか分かりません。 MVC Webアプリケーションのメタデータファイルとは何ですか?彼らは私たちのADサーバー間の信頼関係を確立しようとしていますか?

ご協力いただければ幸いです。

ユーリー

答えて

1

おかげで彼らは、ソリューションのSAML2ベースのシングルサインオンをセットアップしようとしています。 SAML2は基本的に、URLにエンコードされたAuthnRequestを使ってIdpにユーザーをリダイレクトすることによって動作します。ユーザーがidpに資格情報を入力すると(実際の資格情報は表示されません)、アプリケーションにエンコードされたSAML2レスポンスが投稿されます。それを正しく検証することは簡単なことではありません。最初にXML署名の正しい検証を行い(ほとんどの人が忘れる参照をチェックすることを含む)、アサーションのすべての条件を検証する必要があります*

メタデータは、各当事者がメッセージに期待するURL (どのバインディングを使用するか)、メッセージに署名するために使用される証明書などが含まれます。必要な構成パラメータの基本的な標準化された要約。

これは自分では行わないでください。それは予想以上に複雑です。私は試して、難しい方法を学んだ。 SAML2の既成のライブラリを使用します。私のものはKentor.AuthServicesと呼ばれ、GitHub/Nugetで利用できます。他のオープンソースや商用オプションもあります。

*)ここでは、HTTPリダイレクトバインドでAuthnRequestを使用し、HTTP POSTバインディングでプレーンなSamlResponseを使用する最も一般的なフローについて説明します。

関連する問題