DefaultKeyResolution.ShouldGenerateNewKey
では、既定のキーが有効期限に近いかどうかが反映されなくなります。
導入されたバージョン
ASP.NET Core 9.0 Preview 3
以前の動作
ShouldGenerateNewKey
がtrue
であることは、既定のキーが有効期限まで2日以内(単純化)の場合に適用される、文書化されていないが一貫したAPIの特徴でした。 リード タイムの量は、 ICacheableKeyRingProvider
のポーリング間隔に基づいていました。これは、 IDefaultKeyResolver.ResolveDefaultKeyPolicy
依存すべきものではありません (たとえば、代替実装ではこれらの詳細が認識されない可能性があるため)。
新しい動作
.NET 9 以降では、 ShouldGenerateNewKey
が true
されている場合は、既定のキーがないか、他の何らかのポリシー上の理由で ( IDefaultKeyResolver
の特殊な実装で) 新しいキーを生成する必要があることを示します。
ICacheableKeyRingProvider
は、有効期限が新しいキーを生成するのに十分近いかどうかを独自に決定します。
破壊的変更の種類
この変更は 動作の変更です。
変更の理由
この変更は、次の 2 つの理由で行われました。
- 有効期限に近いキー生成に関するロジックを変更します。
- カスタム
IDefaultKeyResolver
を簡単に実装できるようにするため。
推奨されるアクション
有効期限ロジックをレプリケートしようとする IDefaultKeyResolver
実装がある場合は、そのロジックを削除できます (ただし、そのままでも問題ありません)。
有効期限が保留中かどうかを判断するために IDefaultKeyResolver
を直接使用していた場合は、既定のキーの ExpirationDate
プロパティを直接確認できます。
影響を受ける API
Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.DefaultKeyResolution.ShouldGenerateNewKey
.NET