1

開始 IdP から SAML2 トークンを受け取る MVC 4 アプリケーションがあります。到着したトークンを確認でき、復号化できます。ただし、WIF 3.5 でこれを行いたいのですが、次のように WSSecurityTokenSerializer を使用しようとすると、SAML 名前空間に問題があるようです。

System.Xml.XmlException はユーザー コードによって処理されませんでした' 値の種類。この要素が有効であると予想される場合は、指定された名前、名前空間、および値の型を持つトークンを消費するようにセキュリティが構成されていることを確認してください。Source=System.ServiceModel LineNumber=0 LinePosition=0 StackTrace: System.ServiceModel.Security.WSSecurityTokenSerializer.ReadTokenCore(XmlReader リーダー、SecurityTokenResolver tokenResolver) で System.IdentityModel.Selectors.SecurityTokenSerializer.ReadToken(XmlReader リーダー、SecurityTokenResolver tokenResolver) で SamlHandlingTests で。 g の SamlTests.TestMethod1():

ここで投稿されたStackOverflow の質問を見たことがありますが、標準の IdP 開始ソリューションとしてこれを実行できるようにする必要があるため、XML を直接使用するという最終的な解決策は私には合いません。

したがって、私は2つの質問があります:

  1. WIF でこのエラーを克服できた人はいますか? (プロトコルではなく、SAML2 トークンの処理のみに関心があるため、WIF 拡張機能は必要ありません。

  2. IdP によって開始された環境で WIF を使用するには、構成が不要であることを理解しています。認証をオフに設定し、受信トークンを確認するだけです。ただし、完全な WIF パイプラインでトークンを確認したいのですが、これには構成が必要です。この IdP 開始環境で機能するように WIF を構成するにはどうすればよいですか?

どうもありがとう

ブライアン

4

1 に答える 1

0

トークンを逆シリアル化する必要がある場合は、代わりにSaml2SecurityTokenHandlerを使用することを検討してください。

また、あなたのシナリオでは、トークンを自分で逆シリアル化する必要がありますか?WIFはASP.NETMVCアプリケーションとうまく統合されるため、代わりにWIFを使用してこれを行うことができます。ここでEugenioの答えを参照してください。

于 2012-07-04T15:52:40.713 に答える