0

私はそこに角型アプリケーションをホストしているAsp.Netコアプロジェクトを持っています。 asp.netコアプロジェクトには、いくつかのAPIコントローラがあります。これらのコントローラは、Angular App内から呼び出されます。asp.netコアアプリケーションとアングルアプリケーションでAzure ADセッションが終了しました

asp.netコアアプリケーションは、OpenIdConnectとCookieを使用してAzure AD認証によって保護されています。私が見ているのは、ユーザーの夜間のアイドルセッションのトークンの有効期限をどのように処理すればよいかです。

現在、ユーザーが期限切れのブラウザセッションを再開すると、Angular Appからの非同期APIコールの例外がスローされます。 Angular AppをAzure ADアプリケーションのログインページに戻す方法を教えてください。

+0

ADALを使用していますか?あなたはリフレッシュトークンを取り戻していますか? –

+0

はい私はADALを使用しています。私はリフレッシュトークンを取得します。 –

+0

ユーザーが元に戻るまでに更新トークンが期限切れになっていますか?私は単にあなたがユーザーのために持っている最新のトークンを使って新しいトークンを取得します。このためには、正確にADAL関数[AuthenticationContext.AcquireTokenByRefreshTokenメソッド](https://msdn.microsoft.com/en-us/library/microsoft.identitymodel.clients.activedirectory.authenticationcontext.acquiretokenbyrefreshtoken.aspx)があります。リフレッシュトークンも期限切れになっている場合は、認証プロセスをやり直すこともできます。 –

答えて

0

あなたのWebアプリケーションに隠されたiframeを実装して、45分程度ごとにサーバーに対してリクエストを行うことができます。これにより、アプリケーションが実行されている間、トークンは常に有効になります。

This blog postこの問題について話し、スケジュールされた間隔で要求を行うスクリプトを表示するなど、オプションについて説明します。

0

トークンキャッシュをSql Serverに移動して、トークンの有効期限の問題を解決しました。これにより、現在のメモリー内トークンが期限切れになった場合、SQL Serverのリフレッシュ・トークンを使用して新しいアクセス・トークンが生成されます。

関連する問題