자습서: 인증을 위해 Microsoft ID 플랫폼을 사용하는 Blazor Server 앱 만들기
이 자습서에서는 Microsoft ID 플랫폼을 사용하고, Microsoft Entra ID에 앱을 등록하여 사용자를 로그인하고, Microsoft Graph에서 데이터를 가져오는 Blazor Server 앱을 빌드합니다.
Blazor WASM에 대한 빠른 시작도 있습니다.
이 자습서에서:
- 단일 조직의 사용자 인증을 위해 Microsoft Entra ID를 사용하도록 구성된 새 Blazor Server 앱을 만듭니다(Microsoft Entra 테넌트에 앱이 등록됨).
Microsoft.Identity.Web
을 사용한 인증 및 권한 부여 처리- 보호된 웹 API, Microsoft Graph에서 데이터를 검색
필수 조건
- .NET 7 SDK
- 활성 구독이 있는 Azure 계정. 체험 계정을 만듭니다.
- Azure 계정에는 Microsoft Entra ID에서 애플리케이션을 관리할 수 있는 권한이 있어야 합니다. 다음 Microsoft Entra 역할에는 필수 권한이 포함되어 있습니다.
- Azure 계정과 연결된 Microsoft Entra ID의 테넌트 ID 또는 도메인
.NET CLI를 사용하여 앱 만들기
mkdir <new-project-folder>
cd <new-project-folder>
dotnet new blazorserver --auth SingleOrg --calls-graph
Microsoft ID 앱 동기화 .NET 도구 설치
dotnet tool install --global msidentity-app-sync
이 도구는 다음 작업을 자동화합니다.
- Microsoft Entra ID에 애플리케이션 등록
- 등록된 애플리케이션에 대한 비밀을 만듭니다.
- launchsettings.json을 기반으로 리디렉션 URI를 등록합니다.
- 프로젝트에서 사용자 비밀 사용을 초기화합니다.
- 사용자 비밀 스토리지에 애플리케이션 비밀을 저장합니다.
- 클라이언트 ID, 테넌트 ID 등으로 appsettings.json을 업데이트합니다.
.NET 도구는 dotnet CLI 명령의 기능을 확장합니다. 자세한 내용은 .NET 도구를 참조 하세요.
사용자 비밀 스토리지에 대한 자세한 내용은 개발 중 앱 비밀의 안전한 스토리지를 참조하세요.
Microsoft ID 앱 동기화 도구 사용
다음 명령을 실행하여 테넌트에 앱을 등록하고 애플리케이션의 .NET 구성을 업데이트합니다. Azure 계정(예: username@domain.com
)에 속한 사용자 이름/upn 및 Azure 계정과 연결된 Microsoft Entra ID의 테넌트 ID 또는 도메인 이름을 제공합니다.
msidentity-app-sync --username <username/upn> --tenant-id <tenantID>
참고 항목
- 개발자 도구에서 하나의 계정으로만 로그인한 경우 사용자 이름을 제공할 필요가 없습니다.
- 애플리케이션을 만들려는 테넌트가 홈 테넌트인 경우 테넌트 ID를 제공할 필요가 없습니다.
선택 사항 - 개발 SSL 인증서 만들기
실행 중인 애플리케이션을 검색할 때 SSL 오류/경고를 방지하기 위해 macOS 및 Windows에서 다음을 사용하여 .NET에서 사용할 자체 서명된 SSL 인증서를 생성할 수 있습니다.
dotnet dev-certs https --trust
앱 실행
터미널에서 다음 명령을 실행합니다.
dotnet run
명령줄에서 출력된 URL을 사용하여 실행 중인 웹 애플리케이션을 찾습니다.
다음 단계
다음 다중 파트 자습서 시리즈에서 사용자를 로그인하는 ASP.NET Core 웹앱을 빌드하여 자세히 알아보세요.