자습서: 인증을 위해 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 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 웹앱을 빌드하여 자세히 알아보세요.