DefaultKeyResolution.ShouldGenerateNewKey가 의미를 변경했습니다.
DefaultKeyResolution.ShouldGenerateNewKey
더 이상 기본 키가 만료 시간에 근접했는지 여부를 반영하지 않습니다.
도입된 버전
ASP.NET Core 9.0 미리 보기 3
이전 동작
기본 키가 만료 시간의 2일(지나치게 단순화) 이내인 경우 API ShouldGenerateNewKey
의 문서화되지 않았지만 일관된 기능이었습니다 true
. 리드 타임의 양은 (예를 들어 대체 구현이 이러한 세부 정보를 인식하지 못할 수 있기 때문에) 의존해야 하는 것이 IDefaultKeyResolver.ResolveDefaultKeyPolicy
아닌 폴링 간격ICacheableKeyRingProvider
을 기반으로 했습니다.
새 동작
.NET 9부터(있는 true
경우ShouldGenerateNewKey
) 기본 키가 없거나 다른 정책상의 이유로(특수화된 구현IDefaultKeyResolver
에서) 새 키를 생성해야 했음을 나타냅니다. ICacheableKeyRingProvider
만료 시간이 새 키 생성을 보증할 만큼 가까운지 여부를 자체적으로 결정합니다.
호환성이 손상되는 변경의 형식
이 변경 사항은 동작 변경입니다.
변경 이유
이 변경 내용은 다음 두 가지 이유로 수행되었습니다.
- 만료 시간에 가까운 키 생성에 대한 논리를 변경합니다.
- 사용자 지정
IDefaultKeyResolver
을 보다 간단하게 구현할 수 있도록 합니다.
권장 작업
만료 논리를 IDefaultKeyResolver
복제본(replica) 구현하려는 경우 해당 논리를 제거할 수 있습니다(그러나 그대로 두는 것도 좋습니다).
만료가 보류 중인지 여부를 확인하기 위해 직접 사용하는 IDefaultKeyResolver
경우 기본 키의 ExpirationDate
속성을 직접 검사 수 있습니다.
영향을 받는 API
Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.DefaultKeyResolution.ShouldGenerateNewKey
.NET