問題タブ [ws-federation]
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.
login - SAMLを使用した透過的なSSO(IE、SAML 2.0、ADFS、Kerberos認証)
構成は次のとおりです。IdPとしてのADFS2.0(WS-FederationとSAML 2.0の両方がサポートされています)、サービスプロバイダーとしてのASP.NETアプリ。SPSがWS-Federation標準(WIFを使用)でADFSを要求すると、新しいセッションが開始された場合でも、ログインポップアップウィンドウなしでADFSに自動的にログインできるため、Kerberosトークンは期待どおりに機能します。ただし、SAML 2.0(ComponentSpace.SAML.2 libが使用される)の場合、IE9を開いてADFSにリダイレクトされるたびに、標準の小さなポップアップログインウィンドウにWindowsドメインの資格情報を入力するように求められます。WS-Fedの場合のように、SAML 2.0パラメータまたは他の手法でこのウィンドウを取り除くことができますか?ありがとう
asp.net-mvc - .Net MVC WS-Federation サイトで XmlHttpRequest リダイレクト応答を防止する
MVC 3 サイトで WS Federated (Claims Aware) 認証を使用していますが、JSON を送信する一部の API コントローラーが認証に失敗したときにリダイレクトを返さないようにするのに問題があります。JSON を返すだけのいくつかのコントローラーを備えた API と呼ばれるエリアがあり、これらのコントローラーはすべて同じ基本クラスから継承されます。デフォルトで発生する 302 リダイレクトの代わりに、正当な 401 エラー応答を送信したいと考えています。
WSFederationAuthenticationModule
APIコントローラーアクションに適用したフィルターと連携してカスタムを作成するために見つけたいくつかの指示に従いました。
しかし、私のログには、アイテムに IsService アイテムが見つからないことが示されています。
これは、フィルターとモジュールが同じではないことに問題があるのではないかと思いますHttpContext.Current
が、よくわかりません。
私が試した別のオプションは、Global.asax.csFederatedAuthentication.WSFederationAuthenticationModule.RedirectingToIdentityProvider
のイベントでイベントをサブスクライブすることでしたApplication_Start
が、その時点で WSFederationAuthenticationModule は null です。
RedirectingToIdentityProvider
最初のオプションを機能させる方法、またはイベントを購読する場所を知りたいです。
azure - カスタム STS がある場合、フェデレーション認証は必要ですか? もしそうなら、なぜですか?
許可された対象者を具体的にリストし、トークンがそれらの対象者のいずれかからのものであるかどうかを確認し、X509 証明書の拇印と発行者も確認するカスタム Secure Token Service がある場合、WSFederation は必要ですか?
私の STS は、トークンが特定のアプリケーションから既に取得され、ACS を介してルーティングされていることを確認しているため、必要なすべてのことを確認していませんか? アプリケーション A が ACS にリクエストを送信し、ACS がアプリケーション B にリクエストをすべてカスタム STS から送信したことはわかっています。
わかりやすくするために編集します。
申し訳ありませんが、元の投稿で少し不明確でした。セキュリティトークンハンドラーの代わりにSTSを使用したため、混乱が生じたと思います(別の方法で、タイプミスです)。アプリケーション A は、ユーザーのログイン オプション (google/facebook/yahoo/etc) を表示するカスタム ログイン サービスです。これらのサービスを介してログインすると、ACS からトークンが取得され、証明書利用者であるアプリケーション B に返されます。この RP には、トークンを受け入れるカスタム セキュリティ トークン ハンドラがあり、アプリケーション A と一致するオーディエンス URI があることを検証します。また、発行者が ACS であり、拇印が、 ACS。
これは、アプリケーション B が、アプリケーション A がログインに使用されたこと (その AudienceURI から来たため) と、ACS がトークンを送信したこと (発行者であり、拇印が一致したため) を理論的に認識していることを意味します。私が求めているのは、フェデレーション ID がアプリケーション B に必要かどうかです。トークンがどこから来たのかをすでに証明している場合、それを使用することで正確に何を得ることができますか?
asp.net-mvc-3 - STS / IdP からリダイレクト ステータスを確認する方法
私はこれに対する答えを探しましたが(調べても)、これまでのところ有用なものは何も思いつきませんでした。私はADFS、STS全般、およびWIFにかなり慣れていないため、明らかな無知や用語の不適切な使用を許してください。;)
現在、カスタム MVC3 アプリを ADFS 経由で外部 IdP と統合しています。ADFS から IdP へのセットアップはすべて完了し、機能しています。
サイトの一部は、anon ユーザーがアクセスできます。web.config では、認証モードが none に設定されています。他の部分は、コントローラー/アクション メソッドをカスタム System.Web.Mvc.AuthorizeAttribute で装飾することによって保護されます。
WsFederationAuthenticationModule を使用するための web.config への通常の変更はすべて行われ、95% 動作します。ユーザーは、サイトの匿名アクセス可能な部分を参照できます。保護された部分をヒットしようとすると、Authorize 属性は、HttpContext.Current.User に関連付けられた IClaimsPrincipals に IdP からのカスタム情報があるかどうかを確認し、ない場合は ActionResult を 401 に設定します。WsFederationAuthenticationModule が開始され、IdP のログイン ページにリダイレクトされます。詳細を入力すると、いくつかの FedAuth Cookie を使用して正常にリダイレクトされ、認証が成功します。
問題は、IdP のログイン ページに到達したときに始まります。この特定の IdP には、この SAML 応答がどこかに埋め込まれた、当社のサイト (元の要求が行われたのと同じページ) に直接戻るためのリンクがあります (これは彼らのドキュメントによると)。
urn:oasis:names: tc:SAML:2.0:status: AuthnFailed
この時点で、それらは「無許可」になり、ユーザーが表示するのは (少なくとも開発環境では) 401 ページだけです。もう一度開始するには、セッションを強制終了するか、その Cookie を削除する必要があります。
私がする必要があるのは、IdP からのリダイレクト リクエストをインターセプトし、基本的にその特定の SAML ステータスをチェックすることです。これは、ユーザーが何も起こらなかったかのように、許可されていない領域の 1 つにリダイレクトされるためです。global.asax で次のようなことを試しました。
..しかし、そのトークンに役立つものは何もありません。特定の応答ステータスを示すものは何もありません。FedAuth cookieはまったくあるが Idp からのカスタム情報がないという事実は、ユーザーがそこにいたが何らかの理由で認証に失敗したことを完全に明らかにしますが、原則としてそのステータスを確認できるようにしたいと考えています。IdP でのタイムアウトにも対処する必要があるかもしれません....
たぶん、私はこれをすべて間違っているか、単に理解していないだけかもしれませんが、これらの応答ステータスを判断する方法を教えてもらえますか?
ふぅ。ありがとうございました!:D
azure - OpenAM を使用した WS-Federation ID プロバイダーの作成
Azure にデプロイされた .NET アプリケーションに SSO を実装しようとしています。openAM を Idp として使用することが義務付けられています。
@ http://msdn.microsoft.com/en-us/library/gg429779.aspxの指示に従っています。ステップ 3 は、ID プロバイダーの作成を示しています。ここでは、WS-Federated メタデータへの URL を提供する必要があります。
openAM で、ホストされた Idp を作成しました。ただし、ステップ 3 でその URL を指定しても、WS-Federated メタデータ ドキュメントを指していないため、役に立ちません。
WS フェデレーション メタデータ ドキュメントを作成するには、openAM で何をすればよいのでしょうか?
または、より一般的には、これを完全に間違っていますか?
ありがとうございました
サミール
wcf - WSFederationHttpBinding でストリーミングをサポートするにはどうすればよいですか?
大きなファイルをサーバーにアップロードおよびダウンロードするために使用される wcf サービスがあります。MTOM メッセージ エンコーディングを使用していますが、ストリーミング転送モードを使用したいと考えています。しかし、wsFederationHttpBinding を使用しています。wsFederationHttpBinding でストリーミングをサポートするにはどうすればよいですか?
私のWCFサービスのweb.configコードを以下に示します。
wif - WIF-ID1014: 署名が無効です。データが改ざんされている可能性があります
私は WIF を使用して新しい Web サイトを認証してきました。STS は starter-sts 実装に基づいています。
負荷分散された環境でこれが正しく機能するようにするために、global.asax で次を使用して、デフォルトの証明書の動作をオーバーライドしました。
これはすべて機能しており、人々はシステムを正常に使用していますが、時々次のような爆発が発生します。
ID1014: 署名が無効です。データが改ざんされている可能性があります。
イベントログに記録されていたので、WIF トレースをオンにすると、ログに次のように記載されていました。
ID1074: ProtectedData API を使用して Cookie を暗号化しようとしたときに、CryptographicException が発生しました (詳細については、内部例外を参照してください)。IIS 7.5 を使用している場合、これはアプリケーション プールの loadUserProfile 設定が false に設定されていることが原因である可能性があります。
RSAを使用するように実装を変更したので、これは私に影響を与えないはずなので、これが私を暗い路地に導いていると感じています。
私を助けるためのアイデアはありますか?
asp.net - ADFS のインストールには Active Directory が必要ですか?
ADFS を使用する (場合によっては複数の) 顧客と Web アプリケーションとの間でフェデレーション サインオンを実装するには、環境に ADFS をインストールする必要があることを理解しています。
これを行う (そして Active Directory をインストールする) 場合、認証は ADFS を介して顧客の AD に委任されるため、Active Directory が必要になることはありません。
それで...
アプリケーション環境に Active Directory をインストールする必要がありますか? And\Or そうする代わりに何かありますか?
c# - WSFederationHttpBinding を使用した場合のパフォーマンスが非常に悪い
WSFederationHttpBinding を使用するとパフォーマンスが非常に悪くなります。iis は 1 秒あたり 250 リクエストしか処理しません。
バインディング:
私の wcf テスト メソッドは何もしません。単に 1 バイトを返します。
しかし、WIF saml トークンを使用せずにメッセージ セキュリティで単純な WSHttpBinding を使用すると、約 . 毎秒 4000 リクエスト
なぜだか理解できない
c# - PublishedTokenAuthentication AudienceUriMode="Never"
wcf 3.5 を 4.0 に移行したところ、次のエラーが発生しました。
「メッセージ内のセキュリティ トークンの処理中にエラーが発生しました」
Google検索でこの投稿にたどり着きました:
http://blog.latamhub.com/?cat=3
したがって、次の行を追加すると、問題は修正されました。
私はそれが何をするのか分かりません。wsFederationHttpBinding を使用しています。なぜ今それが機能するのか誰か知っていますか?
wcf 3.5 ではデフォルト値であり、4.0 ではそうではありませんか?