問題タブ [adfs2.0]

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.

0 投票する
1 に答える
2926 参照

asp.net - オンプレミス ADFS STS を使用した ASP.NET アプリと Office365 間のシングル サインオン

Windows Identity Foundation でユーザーを認証する ASP.NET Web アプリを構築しています。

組織にはオンプレミスの ADFS STS があります。Office365 は、オンプレミス STS を使用して Microsoft フェデレーション ゲートウェイを介して認証します。新しい Web アプリは、WIF を使用してオンプレミス STS に対しても認証します。

新しいアプリと Office365 環境の間でサイレント シングル サインオンを確立できますか? そのため、ユーザーは一度 Web アプリにログインすれば Office365 にログインする必要はなく、その逆も同様です。

0 投票する
1 に答える
951 参照

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

0 投票する
1 に答える
1139 参照

wif - ADFS と WIF を使用したクレームの更新

次のシナリオを想像してください。

ユーザーはサイト A (ASP.NET) にアクセスし、ADFS を使用して認証し、一連のクレームを取得します。ある時点で、追加のサービスに登録する必要があるため、プロビジョニング サイト B (ASP.NET) (これも ADFS を使用して SSO を使用) にリダイレクトされ、そこで関連する詳細を入力して登録し、A にリダイレクトされます。

ただし、プロビジョニング プロセスの一部で属性がリポジトリ (通常は AD) に追加されたので、これらの属性を要求セットの一部に含めたいと考えています。

これを行うには、再認証する必要がありますか? フェデレーテッド ログアウトを強制することでこれを行う最善の方法はありますか? これは、サイト A またはサイト B のどちらで行われますか?

彼らが WIA を使用する内部ユーザーである場合、彼らは「舞台裏」でログインされ、プロセス全体が透過的になります。

FBA を使用している外部ユーザーの場合はどうなりますか? 再度ログインする必要はありませんか? これは非常に満足のいくユーザー エクスペリエンスではないことを考えると、これを回避する方法はありますか?

署名付きトークンを Cookie としてクライアント ブラウザーに書き込み、STS が後で Cookie から SSO トークンを認証することについて言及している参考文献がいくつかあります。これを ADFS でどのように行いますか?

0 投票する
1 に答える
722 参照

sharepoint - ADFSの理解の可能性

これがばかげた質問でしたらごめんなさい。ADFSのセットアップなどについて多くの記事を読みましたが、理解できていないのは(これは私の主な仕事や興味のある分野ではないため)、実際に必要な処理を処理できるかどうかです。

つまり、ドメイン「domainA」にSharepointサーバーがあります。これで、ADFSを使用して、他の外部ADにアクセス許可を「委任」できると言われました。私の理解では、「domainB」を使用しているこの他の会社は、SharePointサーバーへのログインを許可されていると言えますか?これはまったく正しいですか?したがって、「domainA」と「domainB」の両方のユーザーがログインを許可され、両方のADのユーザーとSharePointのアクセス許可を設定できますか?

0 投票する
2 に答える
928 参照

asp.net - クエリ文字列パラメータを使用してADFSサインインページをカスタマイズする

adfs\lsフォルダーのサインインページをカスタマイズできることはわかっています。しかし、そのFormsSignIn.aspxページまたはマスターページ内で、クエリ文字列パラメーターを使用したいと思います。ただし、HttpContext.Current.Request.Querystringは空です。何か案が?私が達成したいのは、レイアウトをクエリ文字列パラメータなどに依存させることです。

0 投票する
1 に答える
1020 参照

java - HTTP POSTを使用して、ユーザーとエージェントの対話なしでAuthnRequestを送信するにはどうすればよいですか?

私の質問は、SAMLWebSSOプロファイルのHTTPPOSTプロトコルバインディングをどのように実装する必要があるかと似ています。、しかし、私が必要とした正確な答えがわかりません。これは私の場合です。WEB SSO SPによって開始されるPOSTリダイレクト用のサービスプロバイダーを既に実装しており、IDPはアクティブディレクトリであり、STSはADFS2.0です。ユーザーがログオンした後、ユーザーエージェントの操作なしで別のAuthnRequestをADFS2.0に送信する必要があります。HTTP POSTで可能ですか?または、HTTP POSTを介して送信するには、ユーザーエージェントとの対話が必要です。isPassive=trueを設定しました。Javaを使用して実装しようとしています。

0 投票する
2 に答える
1565 参照

wcf - Asp.Net から SAML トークンを WCF サービスに渡す

別のasp.netアプリケーション(IP)によって認証されたasp.netアプリケーション(RP)からWCFサービスを呼び出そうとすると、ログインページの内容を含むエラーメッセージが表示されます(ログインに到達しようとしていますページがリクエストを認証できなかったため)。

ID プロバイダー: _http://localhost/AuthenticatonWS/Login.aspx

証明書利用者の Web サイト: _http://localhost/RPWebsite/Default.aspx

WCF サービス: _http://localhost/RPWebsite/Service1.svc

(私のソリューションでは、default.aspx.cs から service1.svc を呼び出しています)

サービスを匿名にしたくありません。現在、サイト (RPWebsite) は STS を使用し、ローカル ID プロバイダーを信頼していますが、運用環境では、ADFS を介して任意の外部 ID プロバイダーを信頼できます。

トークン情報を aspx ページからサービスに渡す方法を教えてください。インターネットからいくつかの例を試しましたが、うまくいきませんでした。

0 投票する
3 に答える
2070 参照

single-sign-on - WindowsIdentityFoundationおよびADFS+サードパーティによる認証

現在、.NET SOA環境(ASP.NET MVC、WCF)で認証と承認を要素化する方法を評価しています。

私は、STSでWindows Identity Foundationを使用すると、基準を満たす必要があると結論付けました。

ADFS以外のWIFで動作する適切なSTSを見つけるのに苦労しています。複数のオプションがあることは知っていますが、これらがWIFとどのように連携するかについて利用できるドキュメント/経験はありません。

Summa summarum、複数の質問:

これはばかげた考えですか?

WIFとスムーズに連携するSTS製品はありますか?これに関するリソースはありますか?

一元化された(まだスケーラブルな)認証を実装できる製品はありますか(XACMLサポートがある場合でも)?

ADFS/WIFでWSO2IdentityServerを使用した経験は何ですか?

WSO2 Identity ServerにはいくつかのXACML機能がありますが、これらをWCFサービスの承認でどのように使用できますか?

0 投票する
1 に答える
3698 参照

c# - ADFS 2.0 トークンの有効期限

クライアントで ADFS 2.0 によって発行されたトークンをキャッシュしており、サービスを呼び出すときにそれを数回使用しています。

本番環境では、クライアントがキャッシュできるトークンが数分後に期限切れになるようにしたいと考えています。ADFS 2.0 からのトークンは 10 時間後に期限切れになると読みましたが、証明書利用者のトークンの有効期限を変更できる場所が見つかりません。

これは、現在 STS からトークンを要求する方法です。

WEB SSO の時間を 2 分にしてみましたが、効果がないようです。

ADFS で有効期限を構成する正しい場所はどこですか?

0 投票する
3 に答える
11801 参照

certificate - ADFS 2.0 - 別の AD でサービスのトークンを要求する

次のシナリオがあります。

Active Directory 1: WCF クライアント、ADFS 2.0 (STS)

Active Directory 2: WCF サービス (証明書利用者)

RP を ADFS に追加しましたが、ADFS からトークンを要求すると、次のエラーが表示されます: System.ServiceModel.FaultException: ID3242: セキュリティ トークンを認証または承認できませんでした。

ADFS のイベント ログを見ると、一致するエラーが見つかります。

拇印 'XXXXXXXXXXXX' で識別される証明書利用者信頼 'http://XXXXX/Service1/' 証明書の証明書チェーンを構築しようとしているときにエラーが発生しました。考えられる原因としては、証明書が取り消されている、証明書チェーンが証明書利用者信頼の暗号化証明書の取り消し設定で指定されているとおりに検証できなかったか、証明書が有効期間内にないことが考えられます。

AD FS 2.0 の Windows PowerShell コマンドを使用して、証明書利用者暗号化証明書の失効設定を構成できます。証明書利用者信頼の暗号化証明書失効設定: CheckChainExcludeRoot 証明書チェーンの構築中に次のエラーが発生しました: 不明なエラー。未知のエラー。

User Action: 証明書利用者信頼の暗号化証明書が有効であり、取り消されていないことを確認してください。失効設定で「なし」または「キャッシュのみ」の設定が指定されていない場合は、AD FS 2.0 が証明書失効リストにアクセスできることを確認します。プロキシ サーバーの設定を確認します。プロキシ サーバーの設定を確認する方法の詳細については、AD FS 2.0 トラブルシューティング ガイド (http://go.microsoft.com/fwlink/?LinkId=182180) を参照してください。

ADFS は RP からの署名証明書を信頼していないようです (当然のことながら、署名証明書を発行した CA は別の AD にあります)。CertificateRevokationList は、両方の Active Directory から到達可能です。

「ローカル コンピュータ」の信頼されたルート証明書に CA 証明書を追加しましたが、問題は検証メカニズムにあると思います。

ADFS が適切な証明書で署名されたトークンを発行するには、何を構成する必要がありますか、または証明書が有効であることを ADFS に納得させるにはどうすればよいですか?

編集:

powershell コマンドを使用して失効チェックを変更してみました。

しかし運が悪かった: Set-ADFSRelyingPartyTrust : 指定された名前付きパラメーターを使用してパラメーター セットを解決できません。

編集2 :これはうまくいきました:

しかし、現在、Active Directory 1 のクライアントが証明書について不平を言っています...

System.ServiceModel.Security.SecurityNegotiationException: ターゲット 'http://XXXXXXXXXXXXXXXXXX/Service1/' の 'http://XXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Service1/' との SOAP セキュリティ ネゴシエーションが失敗しました。詳細については、内部例外を参照してください。---> System.IdentityModel.Tokens.SecurityTokenValidationException: X.509 証明書 CN=RP-サービス チェーンの構築に失敗しました。使用された証明書には、検証できない信頼チェーンがあります。証明書を置き換えるか、certificateValidationMode を変更してください。信頼されたルート機関への証明書チェーンを構築できませんでした。