問題タブ [oidc-client-js]

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 に答える
6784 参照

identityserver4 - 複数の acr_values を IdentityServer に渡すにはどうすればよいですか?

IdentityServer4 と、oidc-client.js ライブラリを使用して IdentityServer で認証する JavaScript クライアントがあります。idp:{providerName}acr 値との両方を渡す必要がある特定のケースがありtenant:{tenantName}ます。構成オブジェクトでoidc-client.jsライブラリを使用して、arc_values文字列をまたはのいずれかに渡しacr_values: "tenant:lado"ますacr_values: "idp:Google"。文字列のリストを送信しacr_values: ["idp:Google","tenant:lado"]て IdentityServer でアクセスしようとすると、テナントのみが取得され、その値はGoogle,tenant:lado. ご覧のとおり、idp のみが検出されていますが、すべてがマージされています。2 つの別々の acr_values を送信することで望ましい効果を得るにはどうすればよいですか?

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

c# - サイレント リフレッシュは、OPTIONS プリフライトで認証されますが、UserInfo エンドポイントへの GET では認証されません。

環境:

基本的なトークンの発行と検証は、私たちの環境では正常に機能しています。現在、サイレント リフレッシュ テクニックを有効にしようとしています (ここに記載されています)。を有効automaticSilentRenewにして短いAccessTokenLifetime.

IS4 の UserInfo エンドポイントへの 2 つの後続の呼び出しを確認できます (下のスクリーンショットを参照)。1 つ目は、CORS プリフライトOPTIONSリクエストです。のカスタム実装のブレークポイントで、IProfileService.IsActiveAsync()このリクエストが正常に認証されたことを確認できます (を調べることによりhttpContext)。

ここに画像の説明を入力

ただし、GETUserInfo エンドポイントへの 2 番目の要求 ( ) は認証されません。私のブレークポイントIProfileService.IsActiveAsync()は、ユーザーが認証されていないことを示しているため、ユーザーがアクティブかどうか (別の API を呼び出す) を確認するためのルーチンは、401 に変換される false を返します。失敗したGET要求でこのヘッダーを確認できますWWW-Authenticate: error="invalid_token"

これIdentityTokenLifetimeよりも小さいを指定しようとしましたが、成功しませんでしたAccessTokenLifetime

2 つの要求のログは次のとおりです。

質問:

GETサイレント リフレッシュ中に UserInfo エンドポイントへの要求を取得して認証するにはどうすればよいHttpContextですか?

アップデート:

@Anders による回答を調査するために、2 つのリクエストのすべてのヘッダーのスクリーンショットと結果のブラウザー Cookie を追加します。

UserInfo エンドポイントへの <code>OPTIONS</code> リクエスト UserInfo エンドポイントへの <code>GET</code> リクエスト 結果としてブラウザに表示される Cookie

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

reactjs - 反応アプリでoidcクライアントを使用して認証後にリダイレクトする方法

反応アプリにアイデンティティサーバー4を使用して認証を試みています。このドキュメントに従いました。アイデンティティサーバーの暗黙的なフローを使用しているため、アプリケーションをオンロードすると、アイデンティティサーバーのログインページに移動します。適切なユーザー名とパスワードを入力すると、検証されてトークンが発行されます。すべてが期待どおりに機能していますが、反応アプリをダッシュ​​ボード ページにリダイレクトできません。反応するのは初めてです。助けてください。

私が直面している問題は、認証後にアプリが何らかのループに陥っていることです。これは、アプリの URL が ID サーバーとローカル アプリの URL に変更されていることを意味します。以前、私のアプリが adal から AuthenticationContext を使用していたことがわかります。 ID サーバー 4.