問題タブ [oidc-client]

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

c# - IdentityServer4 のサンプル コードでは、authorized_client エラーが発生します

私は Identitymodel.OidcClient パッケージを学習しようとしており、提供されたサンプルの 1 つである ConsoleSystemBrowser サンプルをテストすることから始めまし。これは非常に単純なサンプルであり、最初から完全に構成され、機能する例が得られると期待していました。ただし、サンプルをそのまま実行すると、このillegal_client - Unknown client or client not enabledエラーが発生します。

エラーのスクリーンショット

ログをチェックするように Serilog を設定しましたが、このエラーが発生した理由を示すログからは何もわかりません。何が問題なのかを見つけるのを手伝ってくれる人はいますか?

ログは次のとおりです。

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

angular - signin-redirectのOidc-client identityserver無限ループangular 10アプリ

localhost:4200 で angular 10 アプリを実行しています。私の app-routing.module.ts では、AdminComponent をロードするようにルート パスを構成しました。ユーザーがログインしているかどうか、ログインしていないかどうかを確認する authguardservice があります。ユーザーをIDサーバーにリダイレクトします(トークンを取得するためのログイン画面が表示されます)。

ID サーバー プロバイダーを制御できません。別の会社によってホストされています。

接続は、コード フローと PKCE を使用した IdentityServer4 への接続です。

この問題について少し調べてみたところ、多くの人が同じ問題に直面していました。ただし、自分に合った解決策が見つかりませんでした。おそらく、私はangularとoidcに慣れていないからですか?

https://github.com/damienbod/angular-auth-oidc-client/issues/180

https://github.com/damienbod/angular-auth-oidc-client/issues/829

signinRedirect 呼び出し時の Oidc-client 無限ループ

これが私のセットアップです

app-routing.module.ts

auth-guard.service.ts

auth.service.ts

localhost:4200 でアプリを実行すると、すぐに ID サーバーにリダイレクトされます。電子メールとパスワードを入力すると、ID サーバーが signin-callback.html ページにリダイレクトされます

ID サーバーのログイン ページ

以下の抜粋でわかるように、ユーザー オブジェクトには id_token 値があります。そしてこれもいい サインイン リダイレクト

また、開発者ツールのネットワーク タブで、レスポンス セクションにトークンがあることがわかります。以下の抜粋を参照してください。これまでのところすべて良い トークンネットワーク

また、auth.service.ts コンストラクターでは、ID サーバー ユーザーがプロパティ ユーザーに割り当てられます。

auth-service.ts

ここに問題があります: ID サーバーがユーザーを認証して返送した後、signin-callback.html ページは「/admin」にルーティングされ、ここで authguardservice が再度実行され、isLoggedIn()メソッドを呼び出してユーザーがログインしているかどうかを確認しようとします。 authservice の . (以下に示すように) 認証ガードサーブ

メソッドが行う唯一のことは、オブジェクトが null かisLoggedIn()どうかをチェックすることです。user驚いたことに、それはnullです:(最近authserviceのコンストラクターで値を設定したにもかかわらず

問題

そして、これが有名な無限ループ (KMN) になります。この問題は多くの人が経験しているため、リンクを提案することもできます。リンクが機能するかどうかをお知らせします。

0 投票する
0 に答える
140 参照

angular - IDP とは異なるマシンで実行している場合、Angular アプリケーションのサインイン リダイレクトが「invalid_grant」エラーで失敗する

Angular で oidc-client を使用して ID サーバーにログインしています。同じマシンで両方のアプリケーションを実行すると、すべてが完全に機能します。

しかし、Identity Server を Web Apps サーバーで実行し、Angular アプリケーションを Static Web App で実行すると、"invalid_grant" エラーが発生します。

問題の説明

  1. ユーザーが [ログイン] ボタンをクリックすると、Identity Server のログイン画面にリダイレクトされます

  2. ユーザーはパスワードとユーザー名を入力し、[ログイン] をクリックします

  3. Identity Server は「サインイン コールバック」リンクにリダイレクトし、サインイン コールバックは .ts スクリプトのみであるため、空白のサインイン コールバック ページが表示されます。

    This URL appears in the header: https://white-wave-0ca3e8803.azurestaticapps.net/signin-callback?code=l5-p3B5IGifAZ3ijIUgKmLl7aL2g45Fh5JLmluOj3NA&scope=openid%20profile&state=6503e1f5f176411a890ac50a4d0ecb84&session_state=aPnjQ5ZUiMCDKkAztm0O0K4quSkfSlWRZd--YuK73Oc.NVxBA5K6RH5_ptpDobxmxA

    ネットワークの下に赤い「トークン」エラーがあります。応答ヘッダーを含む
    HTTP/1.1 400 Bad Request
    Cache-Control: no-store、no-cache、max-age=0
    プラグマ: no-cache
    Content-Length: 25
    Content-Type: application/json; charset=UTF-8
    サーバー: Microsoft-IIS/10.0
    Strict-Transport-Security: max-age=2592000
    Access-Control-Allow-Origin: https://white-wave-0ca3e8803.azurestaticapps.net/dashboard X-Powered-作成者: ASP.NET
    セット Cookie: ARRAffinity=1fa22e5e18dd42b9d22d6c2c620b562f117da68736f4d32b741538a2d054d95c;Path=/;HttpOnly;Secure;Domain=hansecoreidp-staging.azurewebsites.net
    Set-Cookie: ARRAffinitySameSite=1fa22e5e18dd42b9d22d6c2c620b562f117da68736f4d32b741538a2d054d95c;Path=/;HttpOnly;SameSite=None;Secure;Domain=hansecoreidp-staging.azurewebsites.net
    日付: 2021 年 3 月 18 日 8:9 GMT:

    エラー メッセージ
    {"error":"invalid_grant"}

  4. 更新すると、エラーError: Uncaught (in promise): Error: No matching state found in storage the local storage, session storage and cookies are empty が表示されます。

  5. ベース URL https://white-wave-0ca3e8803.azurestaticapps.netの後のすべてを削除すると、ベース URLに移動してもう一度ログインをクリックすると、ログインが機能し、ストレージに突然 Cookie Storage A cookieができますAccess_token 、 id_token 、プロファイル、スコープなどがあります。 ローカルストレージ オーソリティ、client_id などがあります。

仮定 Angular アプリケーションは、 signin
-callback からの情報をアプリケーション storageに保存する際に問題があると思います。

ID サーバー構成コード

Angular OIDC-CLIENT AUTH 構成コード

}

SIGNIN REDIRECT CALLBACK CODE User Manager はoidc-clientから継承されたクラスです。コードをデバッグすると .then に入らず、これ以上デバッグできません。しかし、この後に何が起こっても、コードが失敗する場所だと思います。

}

サインイン コールバック コード

ネットワーク画像 失敗時のネットワーク トラフィック

私の質問に欠けているものがあれば、私に知らせてください。

環境ファイル

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

winforms - IdentityModel.OidcClient で SSO が機能しない

WinForms アプリケーションに OIDC ログインを追加しています。IdentityModel.OidcClient ライブラリを使用してアプリケーションをセットアップし、WinForm サンプルからボイラープレース コードを取り出しました。OIDC は正常にログイン フォームを表示し、MFA を実行し、トークンを取得します。

ただし、アプリケーションを閉じて再度開くと、再度認証する必要があります。通常、ブラウザの SSO セッションでは、この手順を省略できます。OidcClient は、アプリケーションが閉じると破棄され、アプリケーション間で共有されないブラウザー セッションを使用しているようです。

SystemBrowser または別のブラウザーを使用するようにアプリケーションを構成するにはどうすればよいですか。これらのブラウザーは、実行間および/またはこのコンポーネントを使用するさまざまなアプリケーションに対してこれらの SSO Cookie を維持します。

前もって感謝します。