問題タブ [identitymodel]
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.
winforms - IdentityModel.OidcClient で SSO が機能しない
WinForms アプリケーションに OIDC ログインを追加しています。IdentityModel.OidcClient ライブラリを使用してアプリケーションをセットアップし、WinForm サンプルからボイラープレース コードを取り出しました。OIDC は正常にログイン フォームを表示し、MFA を実行し、トークンを取得します。
ただし、アプリケーションを閉じて再度開くと、再度認証する必要があります。通常、ブラウザの SSO セッションでは、この手順を省略できます。OidcClient は、アプリケーションが閉じると破棄され、アプリケーション間で共有されないブラウザー セッションを使用しているようです。
SystemBrowser または別のブラウザーを使用するようにアプリケーションを構成するにはどうすればよいですか。これらのブラウザーは、実行間および/またはこのコンポーネントを使用するさまざまなアプリケーションに対してこれらの SSO Cookie を維持します。
前もって感謝します。
c# - IdentityModel.OidcClientでrefresh_tokenでLoginResultを取得するには?
IdentityModel.OidcClient を使用して access_token を取得します。ブラウザーでログインした後、OidcClient.ProcessResponseAsync() を呼び出して、RefreshTokenHandler (およびトークン、タイムスタンプ、ユーザー/クレーム) で LoginResult を取得します。ここで、RefreshTokenHandler を使用して HttpClient を作成し、WebApis を呼び出します。
access_token の有効期限が切れるたびに、WebApi は HTTP ステータス 401 (未承認) を返します。RefreshTokenHandler は、refresh_token を使用して新しい access_token を作成し、要求を繰り返します。これまでのところ、すべて正常に動作しています。
ここで、refresh_token を永続化し、アプリケーションを再起動し、refresh_token を使用して RefreshTokenHandler (およびトークン、タイムスタンプ、ユーザー/クレーム) でクリーンな LoginResult を取得し、HttpClient を作成したいと考えています。
どうやってやるの?IdentityModel.OidcClient をフォークしない方法はありますか。