問題タブ [identityserver4]
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.
asp.net-core - 複数の IdentityServer クライアントからユーザーをログアウトさせる
IdentityServer4 を使用するプロジェクトがあります
https://github.com/IdentityServer/IdentityServer4
auth
、admin
およびの3 つのドメインがあります。www
IdentityServer が実行されauth
、他の 2 つは「クライアント」です。
www
ハイブリッド フロー (Cookie) を使用するadmin
Implicit フローを使用します (これは oidc-client を使用する SPA です)
でホストされている単一のログイン ページがありますauth
。ユーザーがログインすると、 に移動しwww
ます。一部のユーザーはアクセスを許可されてadmin
おり、ナビゲーションにリンクが表示されます。
ログイン後、admin にアクセスすると、認証が自動的に行われ、コールバック URL に戻ることがわかります。これはすべてうまくいきます。
ただし、 からログアウトしてadmin
も にアクセスできますwww
。その逆も同様です。理想的には、ログアウトでユーザーを両方のクライアントから一度にログアウトさせたいと考えています。
これは可能ですか?
注:私はこのプロジェクトのフロント エンド開発者であるため、実際に実装した人は、以下のコメントで追加の詳細を提供する場合があります。
asp.net - プロファイル サービスで IdentityServer IsActiveAsync メソッドが呼び出されない
リソース所有者フローを使用して、IdentityServer v4 を使用して ASP.NET アプリケーションの承認を処理しています。
と の 2 つのメソッドをIdentityServer4.Core.Services.IProfileService
持つインターフェイスを実装しました。GetProfileDataAsync
IsActiveAsync
トークン エンドポイントにリクエストを送信するGetProfileDataAsync
と、期待どおりに が呼び出されます。この方法を使用して請求を発行します。
ただし、IsActiveAsync
メソッドは呼び出されません。このメソッドを実装して、ユーザーがデータベースでアクティブかどうかを判断したいと思います。このメソッドはどの時点で呼び出されることになっていますか?
IdentityServer ソースのコメント (以下を参照) は、トークンの発行中に呼び出される必要があることを示唆していますが、トークンを要求するときにメソッドは呼び出されません。私は何かが欠けていると思います。どんな助けでも大歓迎です。
asp.net-core - ASP.NET Core IdentityServer4 と Windows 認証
これはすべて最先端のものであることは承知していますが、このトピックに関する優れたリソースを誰かが持っているかどうか知りたいです。
現在の状態 (または近い将来) で、IdentityServer4 を ASP.NET Core API および Windows 認証を使用する SPA アプリと組み合わせて使用できますか?
c# - IdentityServer4 と EF6
thisIdentityServer4
に基づいて、基本的な Web API 保護を既に実装しています。
デモはメモリ内データに基づいています。また、ほとんどのチュートリアルは、ユーザー データの EF Core 実装に基づいています。検索したところ、現在バージョン 4 で欠落している がIUserService
ありました。IdentityServer3
EF6 ストアからユーザー データを取得するにはどうすればよいですか?
oauth-2.0 - リソース所有者付与フローの Identity Server ユースケース
この質問は、アーキテクチャの問題に似ています。次の設定は理にかなっているのだろうか。
- クライアント: ユーザー ブラウザ
- Web サーバー: Web アプリケーションの Web API を提供するサーバー。
- アイデンティティ サーバー
Client が Web サーバーにログインのリクエストを送信すると、Web サーバーはリクエストを受信し、アクセス トークンを取得するために Resource Owner Grant タイプを介して Identity サーバーに送信します。
クライアントがリソースのリクエストを送信すると、前のステップのアクセス トークンを使用して Web サーバーにアクセスします。Web サーバーは、リソースを提供する前に毎回 Identity サーバーでリクエストを検証する必要があります。
ただし、このアーキテクチャには次のような問題があると思います
Web サーバーは、SSL 接続でもクライアントが信頼できるクライアントかどうかを確認できません。クライアントはいつでもアクセス トークンを取得し、リクエストを Web サーバーに送信できます。ただし、この問題は他の助成金タイプにも存在するように感じます。ユーザーが許可スコープを変更できないか、他の誰かが (SSL 接続で) トークンを傍受できない限り、問題ないと思います。
何か案が ?ありがとう !
asp.net-mvc-5 - IdentityServer 4 は MVC5 をクライアントとして接続します
IdentityServer4 に接続するように MVC 5 を構成するにはどうすればよいですか?その例はありますか? それを機能させることができないようです。
よろしく、ジョン
openid-connect - セッション Iframe OpenIDConnect を確認する
ログインを明示的に要求しない RP を使用している状況があります。ただし、Open ID Connect のセッション管理仕様、より具体的にはここでcheck_session_iframe
起草されたエンドポイント仕様を確認しました。
次のシナリオが可能かどうか疑問に思っていました。クライアント x を使用して OP にフェデレート サインオンする RP があります。セッションID(または)がない場合でも、クライアント(x)がOPにサインインしているかどうかを確認できるようにすることは可能ですかsid
。言い換えると、OP とのセッションがあるかどうかをアプリケーションが確認できるため、OP に対してサインオンを要求する必要がなくなります。
UXの理由で満足したい基本的な流れは
1) RP に移動します。
2) RP に OP とのセッションがあるかどうかを確認します。
3) - セッションがある場合、自動ログイン (フローを開始せずに)
- セッションがない場合は、何もしないでください (つまり、ログインを要求する必要はありません)。
このようなことは可能ですか?以前にサインインしたことがある場合は、セッション情報を取得できることを理解しています (指定された および を使用しsession_state
てclient_id
)
IdentityServer3.Samples、より具体的には、ここでセッション状態を確認する方法を示すクライアント サンプルを見てきましたが、このサンプルは、ログイン後にセッション状態を確認する方法を示しているようです。 RP が明示的にサインオンを要求する前であっても、クライアントが現在セッションを持っているかどうかを確認することができます。
c# - ベアラーは、IdentityServer4 の Authorize フィルターで禁止されていました
AspNetAuthorizationチュートリアルでIdentityServer4をテストしているときに、単純なものを追加しました。それ以来、次のエラーが発生します。[Authorize(Roles = "Administrator")]
AuthenticationScheme: Bearer は禁止されていました。
私のユーザーは次のクレームを持っています:
new Claim(ClaimTypes.Role, "Administrator", ClaimValueTypes.String)
.
メソッドConfigureServices
内:
そしてConfigure
方法で:
デバッグ出力:
構成で見逃したものは何ですか?
PS:私はすでにこのSO投稿をチェックしましたが、成功しませんでした。