問題タブ [sts-securitytokenservice]
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.
c# - WIF のカスタム SecurityTokenHandler
Microsoft.IndentityModel (= Windows Indentity Foundation) を使用して、STSのカスタムSecurityToken
およびSecurityTokenHandlerを実装しようとしています。
トークンは、署名付きの単純な xml ドキュメントにシリアル化され (X509 証明書を使用)、暗号化される場合もあります (常にではありません) (ターゲット領域によって異なります)。
これまでは非常にうまく機能していましたが、SecurityKeyIndetifierClause
.
私の質問は次のとおりです: SecurityKeyIndentifierClauseとSecurityKey
は何ですか?SecurityKeyIndentifier
MSDN にはほとんどドキュメントがなく、このトピックに関して他に役立つものは見つかりませんでした。
前もって感謝します。
PS: 最も簡単で推奨される方法は、saml のようなトークン形式でビルドを使用することですが、トークンは、私が影響を及ぼさない特定の形式を期待するレガシー システムによって評価されます。
claims-based-identity - WIF を使用してアクティブなフェデレーション プロバイダーを実装する方法
Silverlight、WP7、および ASP.NET MVC クライアント アプリケーションをいくつか持っています。ほとんどのアプリケーションでは、アプリケーションへの匿名アクセスを許可していますが、ログイン時のユーザーの資格情報に基づいてさまざまな機能を保護しています。すべてのクライアントは、データ アクセスとビジネスに共通のバックエンド サービス アプリケーションを使用しています。認証と承認のためにユーザーの資格情報を必要とする処理。
現在、すべてのクライアント アプリケーションでフォーム認証を使用しており、フェデレーション ID とクレーム ベースのモデルを使用するようにアーキテクチャを移行したいと考えています。パッシブ フェデレーションはオプションではありません。
次の流れを探しています。
- ユーザーはログイン ダイアログをトリガーし、ユーザー名とパスワードを入力して [OK] をクリックします。
- バックグラウンドで、アプリケーションは認証のために既存のサービス アプリケーションでアクティブな STS サービスを呼び出します。
- このサービスは実際にはフェデレーション STS であり、ADFS である場合とそうでない場合がある (アクティブな) IP_STS に呼び出しを渡します。
- IP がトークンを FP に返すと、FP はクライアント アプリケーションにトークンを返す前に、サーバー データ ストアからの追加のクレームでトークンを変更します。
- クライアント アプリケーションは、承認チェックのためにトークンをメモリ内に保持します (たとえば、Thread.CurrentPrincipal 内)。
- クライアントは、サービス アプリケーションで他のサービス操作に要求を行うときにもトークンを渡します。
- これらのサービス操作は、トークンを使用してリクエストを認証/承認します。
これは、私が見つけたどの記事やサンプルとも大きく異なるユース ケースです。誰かがガイダンスを提供したり、正しい方向に向けたりすることはできますか?
.net - SSOサービス(カスタムSTS、WIF)を実装して、高可用性(クラスター化またはWebファーム内)にすることはできますか?
私は最近ここで質問をしました:WIFを使用するいくつかのeコマースWebサイトの.NET WebファームにSSOを実装しますか? それは私の次の質問の背後にある詳細を概説しています。
質問/ソリューションの簡単な要約は、SSOソリューションを必要とする一連のWebサイトは、カスタムSTSを備えたWIFを使用して実装し、ある種のSQLMembershipProviderに対してユーザーを検証できることです。このシステムの図を作成する際に、別の問題が発生しました。
Webファーム内のWebサーバーのアイデアの背後にある目的は、Webサイトの単一障害点(SPOF)を排除して、より信頼性の高いサービスを提供することです。同様の戦略は、データベースサーバーと電子メールサーバーについて十分に文書化されています。カスタムSTSとWIFを使用して、既存の高可用性環境に単一障害点を導入することなくSSOソリューションを実装することは可能ですか?このSPOFを削除するには、どのような追加の手順/戦略を実装する必要がありますか?
多かれ少なかれ質問は次のとおりです。
- カスタムSTSを負荷分散環境に配置できますか?
- WIFを(Azureなどのサードパーティの実装を使用せずに)負荷分散された環境に配置できますか?
- これを達成するために対処する必要がある特定の技術的問題は何ですか(またはWebサーバーと同じ方法で実行できますか)?
- これはまったく良い考えですか?いくつかの潜在的な問題は何ですか?
私はオンラインでかなりの調査を行いましたが、この質問に対する完全な答えを見つけることができません。私はまだクレームベースの認証とフェデレーションIDに慣れていないので、曖昧または鈍感な場合は許してください。
丸い穴に四角いペグをはめ込もうとしていますか?
説明が必要な場合はお知らせください。
c# - Windows XP クライアントから ClaimsAware サービスへのアクセス
クライアントが WCF サービスを呼び出す新しい N 層プロジェクトを設計しています。私が取り組んだ以前のプロジェクトでは、実装された独自のクラスを使用しSystem.ServiceModel.ClientCredentialsSecurityTokenManager
、System.ServiceModel.Description.ClientCredentials
(System.IdentityModel にすべて依存している) それらの資格情報をサービス エンドポイントにバインドし、ユーザーが指定された操作を実行する権限を持っているかどうかを STS チェックを使用しました。サービス。すべてのユーザーは、少なくとも Windows Vista を使用していました。これまでのところ、問題ありません。
ここで、同様のアプローチを使用したいと考えました。しかし、ここで顧客が動き出します。ほとんどすべての顧客が Windows XP マシンを使用していますが、Windows アイデンティティ モデルを XP にインストールすることはできません (サポートされていません)。したがって、完全に間違った方向に設計を開始する前に、アドバイスを求めたほうがよいでしょう。
編集 OK、Windows XP で新しい VM をインストールしましたが、必要なすべてのアセンブリが利用できるようです。
sharepoint - Windows Identity Foundation を使用して SharePoint 2010 用のカスタム アクティブ STS を作成する
SharePoint 2010 用のカスタム アクティブ セキュリティ トークン サービスを作成できるかどうか誰か教えてもらえますか。
カスタム パッシブ sts を作成する例を見てきましたが、カスタム パッシブ sts について何も見ることができません。
私はWIFを初めて使用するので、ポインタやヘルプをいただければ幸いです。
編集 (2011 年 11 月 22 日): わかりました、多分私はこれをすべて間違って見ています。最初の問題は、クレームを認識する必要がある Web サービスと Web サイトがあり、それぞれに対する要求を同じ ID として解決することです (この場合、サービスにパッシブ sts を使用できません)。2 番目の問題は、ログオン機能を自分の Web サイトのホームページに統合できるようにしたいということです。私の理解では、これはパッシブな sts では実現できないということです。
編集 (2011 年 11 月 28 日): 以下の推奨事項に基づいて、thinktecture ID サーバーを実装しました。パッシブ シナリオではこれを非常に簡単に動作させることができましたが、これを ws-trust エンドポイント (アクティブ シナリオ) で動作させることはまだできません。WSTrustChannelFactory と UserNameWSTrustBinding を使用してカスタム ログイン Web パーツを作成しようとしましたが、ValidateToken を呼び出すたびに、「トークンの発行者は信頼できる発行者ではありません」というエラーが表示されます。パッシブ ログオン メカニズムを使用してログインできるため、信頼は既に確立されているはずです。
マット
c# - STS および WCF サービスを使用したシングル サインオン
クライアントとしてsts WebアプリケーションサーバーとWCFサービスがあります。sts 参照を wcf サービスに追加すると、追加されます。
しかし、wcf サービスを参照すると、sts サーバーのデフォルトのログイン ページが表示されません。
代わりに、wcf サービスはブラウザーでホストされます。
WCF サービスを呼び出すときに、sts Web アプリケーション サーバーのログイン ページを取得するにはどうすればよいですか。
asp.net-mvc - カスタムWIFリクエストバリデーターの無限ループ
ここで説明されている問題を修正しながら、Web上の他の場所で見つけることができる別の問題を作成しました。
上記のコードはIsValidRequestString()を呼び出し続け、無限ループを引き起こします。呼び出しは毎回同じで、スタックは次のようになります。
これは、私の証明書利用者からFedUtilツールによって作成されたIPにIDを統合するカスタム証明書利用者セキュリティトークンサービスで発生しています。なぜWSFederationMessage.CreateFromFormPost()
リクエストバリデーターを呼び出すのか誰かが知っていますか?返されたwreplyは正常のようです。
編集:これは、私が以前に一度認証された場合にのみ発生します。ブラウザのキャッシュをクリアしても発生しません。
wcf - SharePoint 2010 での WCF STS Bootstrap トークンの使用 (sts および ActAs としての thinktecture ID サーバー)
カスタム STS を使用しているときに、SharePoint 2010 内でブートストラップ トークンを使用した人はいますか? 私はこれに数時間苦労しています。RST を発行するたびに、次のエラー メッセージが表示されます。
Thinktecture Identity Server を STS として使用している SharePoint 2010 を使用しており、委任を使用して WCF サービスを呼び出そうとしています。これはすべて正常に機能していますが、ブートストラップトークンを使用して委任を機能させることができません。
SharePoint が何らかの方法でブートストラップ トークンを暗号化しているに違いないと思います。ヘルプやポインタはありますか?
c# - ADFS 2.0 トークンの有効期限
クライアントで ADFS 2.0 によって発行されたトークンをキャッシュしており、サービスを呼び出すときにそれを数回使用しています。
本番環境では、クライアントがキャッシュできるトークンが数分後に期限切れになるようにしたいと考えています。ADFS 2.0 からのトークンは 10 時間後に期限切れになると読みましたが、証明書利用者のトークンの有効期限を変更できる場所が見つかりません。
これは、現在 STS からトークンを要求する方法です。
WEB SSO の時間を 2 分にしてみましたが、効果がないようです。
ADFS で有効期限を構成する正しい場所はどこですか?
web-services - ユーザーがログアウトするときに、Windows Identity Foundation の SecurityTokenService に何らかのロジックを実装する必要がありますか?
WIF の STSから派生した独自の SecurityTokenService を実装しています。Cancelメソッドを強制的に実装する必要がありますか?
既定では、 Windows Identity Foundation の SecurityTokenServiceは、この記事で説明されているように、呼び出しごとにインスタンス化されます。明示的に何もキャッシュしない場合 (または同様の ことを行う場合)、Cancel メソッドを実装することによって処理する必要があるものはありますか? STS または WIF は、ユーザーがログアウトする (Cancel メソッドが呼び出される) ときに処理する必要があることをバックグラウンドで実行しますか? たとえば、トークンをキャッシュしていた場合、ユーザーがログアウトするときに Cancel メソッドでトークンをキャッシュから削除する必要があります。