問題タブ [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 - WsTrust.Trust13Issue - 設定 RequestSecurityTokenType -ID3007: 名前空間 '' の要素 'TokenType' が認識されません
WSTrust13 STS サービスを使用してトークンを取得しています。コンソール アプリケーションで addreference メカニズムを使用して、WCF サービスのクライアントを作成しました。WCF への要求を行っているときに、要求が WCF サービスに到達しましたが、「ID3007: 名前空間 '' を持つ要素 'TokenType' は認識されません。」 と表示されます。ヘッダーは正しく抽出されましたが、メッセージの本文を処理しているときにこのエラーが表示されます。
これは、WCF サービスを呼び出している C# コードです。
WSTrust13SyncClient プロキシ = new WSTrust13SyncClient();
実際、SOAPUI を使用してこの WCF を呼び出すと、正常に動作し、以下が SOAPUI 要求の本文になります。
これらをリクエストに追加するためにC#コードで同じことを模倣しようとしていますが、エラーを超えて取得できません。
これは、Issue メソッドによって適用されるクラス オブジェクトです。
java - Apache CXF を使用して Java で Azure Pack のセキュリティ トークンを取得する
Azure Pack の STS からセキュリティ トークンを取得できるコードを Java で記述しようとしています。これを使用して、Azure Pack API への呼び出しを認証できます。C# でこのトークンを取得するためにMicrosoft が提供する (動作する) コードの例を次に示します。
これが私が現在Javaで持っているもので、同じことをしようとしています:
Java テスト コードを実行すると、401 Unauthorized HTTP 応答が返されます。
C# コードが行うことを再作成しようとすると、次の機能が欠落しているように見えますが、次のコードに相当するものが Java で/Apache CXF ライブラリを使用して何があるかわかりません。
1) identityProviderBinding.Security.Message.EstablishSecurityContext = false;
2) identityProviderBinding.Security.Message.ClientCredentialType = MessageCredentialType.None;
3) identityProviderBinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Windows;
また、他のことも間違っている可能性があります。何か考えや提案はありますか?
c# - WCF Active STS (WS-Trust) : Java クライアントの System.ServiceModel.Dispatcher.AuthorizationBehavior.Authorize でアクセスが拒否されました
発行されたトークン (SAML1、SAML2) を使用して RST を認証し、BinarySecurityToken を発行するアクティブ STS を作成しています。これは、.net クライアントでは正常に機能しています。ただし、Java クライアント(コード、SOAP UI など) からの RST では、次の例外が発生します-
問題はバインディングのserviceAuthorizationにあると思われます。ただし、クレーム ベース認証の承認の構成に関するドキュメントは見つかりませんでした。これが私の構成です-動作-
バインディング
サービス-
Plsは何が欠けているか教えてください
php - curl PHPを使用して、ADFS、WS-Trust、SAMLトークンで認証されたWebサイトにログインします
ユーザー名とパスワードを持っている PHP Curl を使用して Web サイトにログインしたいと考えています。調査の結果、Web サイトは認証と承認に WS-Trust と ADFS を使用していることがわかりました。ここでは、ユーザーのブラウザーは IDP(ADFS) にリダイレクトされ、リダイレクトされます。 SAML アサーション セキュリティ トークンで戻ります。
http://leandrob.com/2012/02/request-a-token-from-adfs-using-ws-trust-from-ios-objective-c-iphone-ipad-android-java-nodeでこの投稿を読んだ後-js-or-any-platform-or-language/ .セキュリティ トークンを取得するための SOAP エンベロープを作成してリクエストを作成しようとしましたが、このリクエストを送信するエンドポイントが何であるか混乱しています。Leandrob.com の投稿では、「https://[server]/adfs/services/trust/13/UsernameMixed」をエンドポイントとして使用するように言及されています。このエンドポイントにリクエストを送信しようとしましたが、空白のページが出力されました。
リクエストを送信してセキュリティ トークンを取得する必要があります。WS-Trust および ADFS 認証済み Web サイトにログインするためのエンドポイントと見なす必要がある URL を誰か説明してください。
c# - ID3242: セキュリティ トークンを認証または承認できませんでした
現在、アプリケーションが ADFS で検証してログインする必要があるプロジェクトに取り組んでいます。
ADFS からトークンを取得するコードを見つけましたが、エラーに関する適切な説明がなくても上記のエラーが表示され続けます。
これは私が使用するコードです:
エラーコメントの行でエラーが発生します。
誰にも手がかりがありますか?
cxf - PingFederate から RSTR に要素 EncryptedAssertion または EncryptedData の ID 属性を追加します。
PingFederate 7.2 と連携するために Apache CXF 3.1.5 を使用しています。SAML アサーションが暗号化されていない場合、PingFederate で WS-Trust SP 接続を作成します。それはうまくいきます。SAML アサーションが暗号化されている場合、 CXFはPingFederate からのRSTRの要素EncryptedAssertionまたはEncryptedDataのId属性を必要とするため、機能しません。一方、PingFederateはそのような Id 属性を提供しません。だから私は2つの質問があります。
CXFがId属性 (クラスAbstractSTSClientのcreateSecurityTokenメソッド) を必要とするのはなぜですか? 標準仕様では、Id属性はオプションとされているようです。
PingFederateで Element EncryptedAssertionまたはEncryptedDataのId属性を追加するにはどうすればよいですか? または他にできることはありますか?
どうもありがとう!
wcf - WIF WCF アプリケーションを有効にする
私はSTSの初心者です。WCF アプリケーションを WIF 対応にしようとしているので、このサンプルを見つけましたが、実行できません。
次のエラーが表示されます。
予期しない例外が発生しました。サーバー スタック トレース: em System.IdentityModel.Selectors.CardSpaceShim.GetCardSpaceImplementationDll()...
誰かが私に解決策を指摘してもらえますか。私はどこでも答えを探しましたが、何もありませんでした。
cxf - Fuse WS-Trust サービスが保護を無視する
Security Token Serviceの公式ドキュメントで説明されているように、WS-Trust の「IssuedToken」ポリシーで保護されたヒューズ CXF サービスを開発しようとしています。ドキュメントで説明されているようにすべてを行い、いくつかのヒューズと CXF の公式の例をクロスチェックしました。
すべて正常に動作しているように見えますが、SoapUI を使用してトークンなしでサービスを呼び出すと、(トークンがないため) エラーを受け取る代わりに、保護がまったく実装されていないかのように、呼び出しが行われ、結果が返されます。
CXF の「sts」の例で行ったのと同じコードを「スタンドアロン モード」(ヒューズの外側) で実行してみましたが、保護は機能します。もちろん、この場合は別の pom ファイルともう 1 つのクラス (Server.java) と spring ファイル (wssec-server.xml) を使用してサービスをブートストラップしましたが、それ以外はすべて同じです。
では、セキュリティ設定がヒューズで機能するのを妨げているのは何でしょうか?
ヒューズのバージョン: Ubuntu 14.04.5 LTS の 6.2.1.084
ソースが続きます。試み全体は、私がまだ完全には理解していない多くの例からのコラージュであるため、ここでいくつかの指示が間違っている可能性があることに注意してください.
pom.xml
hello_world.wsdl
blueprint.xml
serviceKeystore.properties
GreeterImpl.java
「スタンドアロン」の例 (期待どおりに動作します) では、次を使用しました (この投稿を SO 制限内に保つために、いくつかの文字を削除しました)。
pom-standalone.xml
サーバー.java
wssec-server.xml
次に、サーバーは次のように起動されます
SoapUI に接続すると、次の (予想される) エラーが発生します。
MessageAddressingHeaderRequired: メッセージ アドレス指定プロパティを表す必須ヘッダーが存在しません
saml - ADFS の issuetokenmixedasymmetricbasic256sha256 エンドポイントを使用するには?
ADFS で 2 つの証明書利用者信頼 (App1、App2) を構成しました。SAML Web フローに従ってユーザーを認証した後、最終的に App1 は SAML トークン (SamlToken1) を取得しました。
現在の状況では、ユーザーのブラウザーはファイアウォールが原因で App2 にアクセスできないため、App2 は SAML トークンを取得できません。
私が考えた解決策は、提供された issuedtokenmixedasymmetricbasic256sha256 エンドポイント ADFS を介して WS-Trust を使用することでした。
手順 1. App1 を WS-Trust クライアントとして機能させ、RST (セキュリティ トークンの要求) を ADFS (エンドポイントに発行されたtokenmixedasymmetricbasic256sha256) に送信し、SOAP セキュリティ ヘッダーに SAMLToken1 を指定して、App2 として ApplyTo を設定します。
ステップ 2. ADFS は、RSTR 内の暗号化された SAML アサーションを App1 に返します。
ステップ 3. App1 は別の RST を App2 に送信し、暗号化された SAML アサーションをセキュリティ ヘッダーとして設定します。
ステップ 4. App2 は SAML トークンを取得できます。
最初のステップの ADFS を実行すると、「メッセージのセキュリティを検証中にエラーが発生しました」が返されますが、ADFS のトレース ログには「タイプ 'urn:oasis:names:tc:SAML:2.0:assertion' のトークンが正常に認証されました」のみが表示されます。 、ADFS にそれ以上のログは表示されません。
SOAP UI を使用して SOAP 呼び出しを行っています。issuedtokenmixedasymmetricbasic256sha256 を使用して ADFS に SAML トークンを送信し、別の SAML トークンを交換する方法を知りたいです。
RST: