問題タブ [thinktecture-ident-server]
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.
claims-based-identity - 相互に通信するサーバー プロセスに Federated Authentication を実装する方法
現在、Thinktecture の Identity Server をセキュリティ トークン サービスとして使用して、ユーザー名とパスワードの要求に基づいてトークンの発行を処理しています。これは、認証クライアントが、たとえば Web アプリケーションに対して認証する実際のユーザーであるシナリオに完全に適合しますが、認証側がたまたまセキュリティを確立する必要があるサーバー上の独立したプロセスである場合のシナリオに興味があります。別のサーバー プロセスに渡すトークン。理想的には、ここでいくつかのアドバイスを求めています: 1. これは、相互に通信するサーバー プロセスの認証に対する有効なアプローチですか? 2. サーバー プロセスの 1 つを、おそらく TCP 境界を越えて通信する別のマシンに移動するとどうなるでしょうか? このアプローチはまだ有効ですか。3. プロセスの認証にはどの ClaimType を使用しますか? そして、Thinktecture Identity Server はこれらに対して認証してよろしいですか? そのためには、おそらくカスタム認証拡張機能を作成する必要があると思います...
どうもありがとう、クリント。
federated-identity - Thinktecture IdentityServer で wsTrustChannel の資格情報として証明書を指定する方法
基本的に、クライアントの資格情報を次から切り替えることができると思っていたでしょう。
に:
次に、wsTrustChannel を作成してセキュリティ トークンを取得します。
ユーザー名とパスワードは正常に機能します。証明書を使用するだけで、UserName が指定されていないと文句を言います。私は、トークン発行者が関連するユーザーを証明書から検索するという印象を受けました。ここでどこが間違っていますか?
c# - Thinktecture Identity Server の使用時に OAuth2 ベアラー トークンを永続化する
http://leastprivilege.com/2012/11/01/oauth2-in-thinktecture-identityserver-v2-resource-owner-password-flow/にある OAuth2 リソース所有者パスワード フローの Thinktecture Identity Server の例に従っています。
次のプロセスを介して、正常に動作し、JWT トークンを返す例があります。
- Thinktecture OAuth2Client を使用してアクセス トークンを取得します
- クライアント マシンの「Trusted People」ストアから署名証明書を取得します。
- 証明書を使用して新しい
JwtSecurityTokenHandler
andを作成し、ClaimsPrincipal を取得するためのTokenValidationParameters
呼び出しtokenHandler.ValidateToken
ここから承認されますが、今後のリクエストのためにトークンを保持する最善の方法がわかりません。使ってみた
しかし、私は登録していませんSessionAuthenticationModule
。Identity and Access ウィザードを使用してこれを実装しようとしましたが、構成に多くの変更が加えられ、パッシブ認証の設定が試行されます。
従来の FormsAuthentication Cookie (.aspnetAuth) を使用することもできましたが、.FedAuth Cookie の利点は、サイズが大きくなりすぎた場合に自然に複数の Cookie に分割されるという議論を覚えています。
私は自分の絵を完成させる記事を見つけるのに苦労しています. スタックのさらに下にあるさまざまな API にアクセスするには、ベアラー トークンが必要です。ほとんどの作業はあなたのために行われるため、SSO/パッシブ認証についてはこれの実例があります。リソース所有者のパスワード フローを使用する場合に使用する最適なパターンがわかりません。
そう
- Thinktecture Identity Model と Server でこれを達成するためのより簡単な方法を見逃していませんか?
- WIF 用に既にセットアップされているさまざまな Messagehandler/filter コンポーネントを再利用できるように、FedAuth Cookie を作成する必要がありますか?
- それ以外の場合 - FormsAuthentication Cookie の UserData セクションにアクセス トークンを単純に配置するだけで特に問題はありますか?
c# - シングル サインオン: どちらに進むべきか?
複数の教育機関に対応する SaaS Web アプリケーションがあります。すべてのクライアントは、同じアプリケーション/データベースでホストされています。アプリケーションは現在、ASP.Net 4 Web フォーム用に C# で作成されています。
現在、私のアプリケーションは、ユーザー認証/承認にローカル/ネイティブ データベースを使用しています。
私たちのクライアントは、クライアントが認証プロバイダーであり、私のアプリケーションがコンシューマーであるシングルサインオンをサポートするように私たちに求めています.
問題は、クライアントが Shibboleth や OpenID Connect などのさまざまなプロトコル/メカニズムを介して SSO を要求していることです。これは、これらすべてで機能する、または少なくとも拡張可能なソリューションを作成する必要がある/作成する必要があることを意味します。
Thinktecture の IdentityServer に出会いました。これは、クライアントが使用するさまざまな SSO メカニズムを抽象化し、アプリが理解できるクレーム ベースの ID トークンをアプリに返すことができると思います。
しかし、私はこの概念に多くの苦労をしています。これは、私のアプリがすべての認証要求を IdentityServer にリダイレクトし、IdentityServer に OpenID Connect のやり取りを処理させてから、IdentityServer からユーザーについて必要な情報を含むトークンを受信することを意味しますか? ID サーバーはユーザーのレルムをどのように認識しますか (つまり、どのクライアント認証プロバイダーにユーザーを送信するかを認識します)。IdentityServer は、アプリのローカル/ネイティブ データベースでユーザーの存在を検証する必要がありますか? IdentityServer は SSO とローカル ログインの両方を処理できますか?
個別の ID サーバーを使用する方法はありますか? 私のアプリが 1 つのポイント (ID サーバー) と統合できるようになるようです。しかし、Thinktecture の IdentityServer に関するドキュメントは、構成方法以外にはあまりありません。ADFS は同様のソリューションを提供する場合がありますが、そこにあるほとんどの例は ADFS と Azure を対象としています。
最後に、サードパーティの認証プロバイダーはアプリケーションの特定の承認ニーズを認識できない可能性があるため、各ユーザーに関するローカル/ネイティブの承認データを引き続き維持すると想定しています。
そこに何か考えや提案はありますか?