Microsoft. Identity.Web은 Microsoft Entra ID 인증을 .NET Framework 및 .NET Standard 애플리케이션으로 확장합니다. 이 문서는 시나리오에 적합한 패키지 및 통합 패턴을 선택하는 데 도움이 됩니다.
시나리오 선택
애플리케이션 유형과 일치하는 통합 패턴을 선택합니다. Microsoft Entra 웹앱 및 백그라운드 서비스에 대해 다양한 패키지를 제공합니다.
MSAL.NET과 Microsoft.Identity.Web 패키지
콘솔 앱, 디먼 서비스 및 비 웹 .NET Framework 애플리케이션의 경우
MSAL.NET에서 Microsoft.Identity.Web.TokenCache 및 Microsoft.Identity.Web.Certificate 패키지를 사용하세요.
- 토큰 캐시 직렬화(SQL Server, Redis, Cosmos DB, PostgreSQL)
- KeyVault, 인증서 저장소 또는 파일 시스템에서 인증서 로드
- 콘솔 애플리케이션 및 디먼 서비스
- .NET Standard 2.0 라이브러리
Microsoft MSAL.NET과 Microsoft.Identity.Web 가이드
ASP.NET MVC/Web API에 대한 OWIN 통합
ASP.NET MVC 및 Web API 애플리케이션의 경우
Microsoft.Identity.Web.OWIN 패키지를 사용하여 완전한 기능을 갖춘 웹 인증을 실행하십시오.
- 자동 토큰 획득을 위한 TokenAcquirerFactory
- Microsoft Graph 및 다운스트림 API에 쉽게 액세스할 수 있는 컨트롤러 확장
- 분산 토큰 캐시 지원
- 증분 동의 처리
통합 옵션 비교
다음 표에서는 두 통합 방법 간의 주요 차이점을 요약합니다.
| 특징 | MSAL.NET + TokenCache/Certificate | OWIN 통합 |
|---|---|---|
| 패키지 | Microsoft. Identity.Web.TokenCache Microsoft.Identity.Web.Certificate |
Microsoft.Identity.Web.OWIN |
| 대상 | 콘솔 앱, 디먼, 작업자 서비스 | ASP.NET MVC, ASP.NET Web API |
| 인증 | 수동 MSAL.NET 구성 | 자동 OWIN 미들웨어 |
| 토큰 획득 | 사용 설명서 IConfidentialClientApplication |
컨트롤러 확장으로 자동 설정 |
| 토큰 캐시 | 모든 공급자(SQL, Redis, Cosmos, PostgreSQL) | 모든 공급자(SQL, Redis, Cosmos, PostgreSQL) |
| 인증서 로드 | KeyVault, 저장, 파일, Base64 | MSAL.NET 구성을 통해 |
| Microsoft Graph | 수동 GraphServiceClient 설정 |
this.GetGraphServiceClient() |
| 다운스트림 API | 토큰을 사용하여 수동 HTTP 호출 | this.GetDownstreamApi() |
| 증분 동의 | 수동 도전 처리 |
MsalUiRequiredException과 함께 자동으로 |
사용 가능한 패키지 검토
Microsoft.Identity.Web 1.17+부터 ASP.NET Core가 아닌 환경에서 Microsoft ID 라이브러리를 사용할 수 있습니다. 다음 패키지는 .NET Framework 및 .NET 표준 워크로드를 대상으로 합니다.
사용 가능한 패키지
| Package | Purpose | 대상 애플리케이션 |
|---|---|---|
| Microsoft. Identity.Web.TokenCache | MSAL.NET의 토큰 캐시 직렬화기 | 콘솔, 디먼, 작업자 서비스 |
| Microsoft. Identity.Web.Certificate | 인증서 로드 유틸리티 | 콘솔, 디먼, 작업자 서비스 |
| Microsoft. Identity.Web.OWIN | OWIN 미들웨어 통합 | ASP.NET MVC, ASP.NET Web API |
패키지 혜택 이해
이러한 패키지는 ASP.NET Core 필요 없이 일반적인 인증 작업을 간소화합니다.
| 특징 | 이익 |
|---|---|
| 토큰 캐시 직렬화 | 메모리 내, SQL Server, Redis, Cosmos DB, PostgreSQL에 재사용 가능한 캐시 어댑터 |
| 인증서 도우미 | KeyVault, 파일 시스템 또는 인증서 저장소에서 간소화된 인증서 로드 |
| OWIN 통합 | ASP.NET MVC/Web API에 대한 원활한 인증 |
| .NET Standard 2.0 | .NET Framework 4.7.2 이상, .NET Core 및 .NET 5 이상과 호환 |
| 최소 종속성 | ASP.NET Core 종속성이 없는 대상 패키지 |
샘플 애플리케이션 살펴보기
이러한 샘플을 사용자 고유의 구현을 위한 시작점으로 사용합니다.
MSAL.NET 샘플
- ConfidentialClientTokenCache - 토큰 캐시가 있는 콘솔 앱
- active-directory-dotnetcore-daemon-v2 - KeyVault의 인증서가 있는 디먼
OWIN 샘플
- ms-identity-aspnet-webapp-openidconnect - Microsoft.Identity.Web.OWIN와 Microsoft ASP.NET MVC