問題タブ [ws-trust]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wcf - 発行されたトークンで WCF サービスを呼び出す
私は次のことを試みます:
- WCF クライアントが STS を呼び出し、SAML アサーションを取得する
- クライアントは SAML アサーションを使用してサービスを呼び出します
client.linq
上記のシナリオを 3 つのLinqPad スクリプトとして実装しましsts.linq
たservice.linq
。それらはすべてhttps://github.com/codeape2/WCF_STSにあります。
これを機能させるには、助けが必要です。
の次のコードを使用するclient.linq
と、STS を呼び出して SAML アサーションを取得できます。
次のステップでは、次のコードを使用して、SAML アサーションを含めてサービスを呼び出します (試みます)。
次に何が起こるか、まったくわかりません。スクリプトを実行すると、フィドラーが実行されます。次のように表示されます。
/STS
(予想どおり)への最初のリクエストproxy.CrossGatewayQuery
への3 つの呼び出しの結果/Service
:2.1. アクション付きの SOAP 呼び出し
http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Issue
2.2. アクション付きの SOAP 呼び出し
http://schemas.xmlsoap.org/ws/2005/02/trust/RSTR/Issue
2.3. action を指定した最後の SOAP 呼び出し
urn:ihe:iti:2007:CrossGatewayQuery
。Fiddler を使用すると、SOAP セキュリティ ヘッダーにステップ 1 の SAML アサーションが含まれていることに気付きました。
最後の呼び出しにより、サービスから SOAP エラーが返されます。メッセージ内の少なくとも 1 つのセキュリティ トークンを検証できませんでした。保存された Fiddler のリクエスト/レスポンス ログはこちら: https://drive.google.com/file/d/0B-UZlLvBjjB2S050TXRhVEo2Vmc/view?usp=sharing
誰かが次のことについて教えてくれたら、とても感謝しています。
RST/Issue
WCF クライアントがおよびRSTS/Issue
要求を に送信するのはなぜですか/Service
(上記の手順 2.1 および 2.2)。- つまり、STS から取得した SAML アサーションを渡して、STS に 1 つの要求を送信し、次にサービスに 1 つの要求を送信します。
wif - SSPI ネゴシエーションが失敗しました WTrustChannelFactory
これはしばらくの間、.net web/wcf サービス SP を呼び出すことができるコンソール アプリを構築しようとしています。最初の行程は、貼り付けられたコードが機能していた idP (ADFS4.0) からトークンを取得することです。丸一日は問題ありませんでしたが、ある時点で次のエラーで動作しなくなりました。
SOAP security negotiation with 'https://adfs.domain.in/adfs/services/trust/13/windowsmixed' for target 'https://adfs.domain.in/adfs/services/trust/13/windowsmixed' failed. See inner exception for more details.
内部エラーは次のとおりです。
The Security Support Provider Interface (SSPI) negotiation failed.
NativeErrorCode: 0x80090350 -> SEC_E_DOWNGRADE_DETECTED
/13/windows および /windowstransport とエンドポイントを試しました。