ここでは、以下に述べた概念のいくつかのシナリオの違いを説明します。
IDトークン:あなたが言及したように、IDトークンの寿命は「絶対」です - あなたは一度IDトークンが作成され、管理ポータルに新しく作成されたIDトークンの有効期間を設定することができますが、方法はありません既存のトークンの存続期間を延長する。 IDトークンをサービスの一部のエンドポイントに送信し、トークンが期限切れであるとサービスが判断した場合、クライアントはB2Cから新しいIDトークンを取得する必要があります。
B2CのWebアプリケーションのセッションの有効期間:これはあなたのポリシー用に設定されているかに基づいて、B2CのWebアプリケーションのセッションの有効期間は、/認可エンドポイントに送信され、新たな認可がUIと対話する必要がユーザーせずに処理できるかどうかを決定します。ただし、依然としてリダイレクトが発生することに注意してください。一般的に、ここでの結果は、顧客のWebアプリケーションからB2Cの/承認エンドポイントへのリダイレクトと、それに続く新しく作成されたIDトークン(新しい/完全なIDトークンライフタイムを持つ) 。視覚的には、これはブラウザがすぐに遠方に向かい、再び戻ってくるので、「画面のちらつき」のように見えることがあります。このような状況が発生した場合、Webアプリケーションのセッション期間中に「ローリング」タイプが選択された場合、この非インタラクティブなWebアプリケーションセッションは新しい(デフォルトでは1440分)ウィンドウに使用できますが、「絶対」を選択すると、制限時間は、完全にインタラクティブなWebセッションが最後に実行された時間に基づいています。
私が言及したように、ここではASP.NETセッションの仕組みに慣れていませんが、管理ポータルで参照される「ローリング」Webアプリケーションは、ASP.NETではなくB2C用ですASP.NETとの対話)。私の推測では、ASP.NETレイヤーは私がここで説明したものの上にある追加のレイヤーです。おそらく、ASP.NETセッションは、IDトークンがサービスによって要求され、検証される頻度を制御していますが、具体的にはASP.NETチームでそれにフォローアップすることができます。
サイレントreauthに関する以下に記載されていない別のシナリオは、「refresh tokens」です。リフレッシュトークンの償還は本当に黙っています(つまり、画面のちらつきはありません)。単一のページアプリケーション(別名「SPA」)を使用している場合は、他のオプションも使用できます。
詳細はこちらhttps://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-apps