Microsoft.Identity.Web을 사용하여 사용자를 로그인하고 다운스트림 API를 호출하기 위한 토큰을 획득하는 ASP.NET Core 웹 앱이 있습니다. 이 앱은 로드 밸런서 뒤의 여러 App Service 인스턴스에서 실행되며 자주 스케일 아웃됩니다. 사용자는 예상보다 더 자주 로그인하라는 메시지가 표시되며, 스케일 이벤트 후 AcquireToken 호출이 네트워크를 자주 히트합니다. 인스턴스 간 토큰 재사용을 개선하려면 무엇을 구현해야 합니까? 두 가지를 선택하십시오.
정답 선택
옵션을 탭하여 정답을 확인하세요.
정답: Microsoft.Identity.Web이 AddDistributedTokenCaches를 사용하고 IDistributedCache 공급자로 Azure Cache for Redis를 사용하도록 구성합니다., MSAL 확장을 사용하여 기밀 클라이언트 흐름 및 웹 API를 위해 공유 저장소(예: Redis 또는 SQL)에 MSAL 토큰 캐시 직렬화를 구현합니다..
이것이 정답인 이유
로드 밸런서 뒤에서 스케일 아웃되는 여러 인스턴스에서 실행되는 ASP.NET Core 앱의 경우, 기본 인메모리 토큰 캐시는 각 인스턴스에 고유하여 스케일 아웃 시 토큰 재사용을 방해하고 사용자에게 재로그인을 요구할 수 있습니다. Microsoft.Identity.Web이 AddDistributedTokenCaches를 사용하고 IDistributedCache 공급자로 Azure Cache for Redis를 사용하도록 구성합니다. 는 분산 캐시를 사용하여 모든 인스턴스가 공유 토큰 캐시에 액세스할 수 있도록 합니다. Redis와 같은 분산 캐시는 토큰을 중앙 집중식으로 저장하여 인스턴스 간에 토큰을 재사용하고, 스케일 아웃 시에도 일관된 사용자 경험을 제공하며, 네트워크 호출을 줄여 성능을 향상시킵니다. MSAL 확장을 사용하여 기밀 클라이언트 흐름 및 웹 API를 위해 공유 저장소(예: Redis 또는 SQL)에 MSAL 토큰 캐시 직렬화를 구현합니다. 는 MSAL의 토큰 캐시를 Redis 또는 SQL과 같은 공유 저장소에 직렬화하여 여러 인스턴스에서 토큰을 공유할 수 있도록 합니다. 이는 AddDistributedTokenCaches와 동일한 목표를 달성하는 또 다른 방법이며, 특히 MSAL의 고급 토큰 캐시 관리가 필요할 때 유용합니다. 기본 인메모리 캐시와 고정 세션은 스케일 아웃 환경에서 토큰 재사용 문제를 완전히 해결하지 못합니다. 토큰 캐시를 비활성화하는 것은 매번 네트워크 호출을 강제하여 성능을 저하시키므로 올바른 해결책이 아닙니다.
끝없는 정답 찾기 없이 시험 합격
이 시험에 대한 모든 검증된 문제와 설명을 한곳에서 얻고, 준비 시간을 몇 시간 절약하세요. 1,000개 이상의 자격증 · 20개 이상의 언어 · 무료로 시작.
더 빠르게 시험 합격 → 카드 필요 없음