Microsoft ID 플랫폼 코드 샘플
이러한 코드 샘플은 Microsoft에서 빌드 및 유지 관리하여 Microsoft ID 플랫폼 인증 라이브러리를 사용하는 방법을 보여 줍니다. 일반적인 인증 및 권한 부여 시나리오는 여러 애플리케이션 유형, 개발 언어 및 프레임워크에서 구현됩니다.
- 사용자를 웹 애플리케이션에 로그인하고 보호된 웹 API에 대한 권한 있는 액세스를 제공합니다.
- API 작업 수행 시 액세스 토큰을 요구하여 웹 API를 보호합니다.
각 코드 샘플에는 프로젝트를 빌드하고(해당하는 경우) 샘플 애플리케이션을 실행하는 방법을 설명하는 README.md 파일이 포함되어 있습니다. 코드의 주석은 ID 플랫폼을 사용하여 인증 및 권한 부여를 수행하기 위해 애플리케이션에서 이러한 라이브러리를 사용하는 방법을 이해하는 데 도움이 됩니다.
샘플 및 가이드
탭을 사용하여 애플리케이션 형식 또는 기본 설정 언어/프레임워크를 기준으로 샘플을 정렬합니다.
단일 페이지 애플리케이션
이 샘플에서는 Microsoft ID 플랫폼으로 보안이 설정된 단일 페이지 애플리케이션을 작성하는 방법을 보여 줍니다. 이 샘플은 MSAL.js의 특징 중 하나를 사용합니다.
언어/ 플랫폼 |
코드 샘플 GitHub |
인증 라이브러리 |
인증 흐름 | 빠른 시작 | 자습서 |
---|---|---|---|---|---|
React | • 사용자 로그인 | MSAL React | PKCE가 있는 권한 부여 코드 | 빠른 시작 | 자습서 |
Angular | • 사용자 로그인 | MSAL Angular | PKCE가 있는 권한 부여 코드 | 빠른 시작 | 자습서 |
JavaScript | • 사용자 로그인 • Microsoft Graph 호출 • Node.js 웹 API 호출 • Azure Storage 및 App Service에 배포 |
MSAL.js | PKCE가 있는 권한 부여 코드 | 빠른 시작 | |
Blazor WebAssembly | • 사용자 로그인 • Microsoft Graph 호출 • Azure App Service에 배포 |
MSAL.js | PKCE가 있는 권한 부여 코드 | 빠른 시작 |
웹 애플리케이션
다음 샘플은 사용자를 로그인하는 웹 애플리케이션을 보여 줍니다. 일부 샘플은 사용자 ID를 사용하여 Microsoft Graph 또는 사용자 고유의 웹 API를 호출하는 애플리케이션도 보여 줍니다.
Web API
다음 샘플에서는 Microsoft ID 플랫폼을 사용하여 웹 API를 보호하는 방법과 웹 API에서 다운스트림 API를 호출하는 방법을 보여줍니다.
언어/ 플랫폼 |
코드 샘플 GitHub |
인증 라이브러리 |
인증 흐름 | 빠른 시작 | 자습서 |
---|---|---|---|---|---|
ASP.NET | • Microsoft Graph 호출 | MSAL.NET | OBO(On-Behalf-Of) | 빠른 시작 | |
ASP.NET Core | • Microsoft ID 플랫폼 사용하여 액세스 제어(보호된 경로) | MSAL.NET | OBO(On-Behalf-Of) | 빠른 시작 | 자습서 |
Java | • Microsoft ID 플랫폼 사용하여 Java Spring Boot 웹 API 보호 | MSAL Java | OBO(On-Behalf-Of) | ||
Node.js | • Node.js 웹 API 보호 | MSAL 노드 | 권한 부여 전달자 |
데스크톱
다음 샘플에서는 Microsoft Graph API에 액세스하거나, 사용자 이름의 자체 웹 API에 액세스하는 퍼블릭 클라이언트 데스크톱 애플리케이션을 보여 줍니다. WAM(Web Authentication Manager)을 사용하는 데스크톱(콘솔) 샘플 외에도 이러한 클라이언트 애플리케이션은 모두 MSAL(Microsoft 인증 라이브러리)을 사용합니다.
언어/ 플랫폼 |
코드 샘플 GitHub |
인증 라이브러리 |
인증 흐름 | 빠른 시작 | 자습서 |
---|---|---|---|---|---|
.NET Core | • Microsoft Graph 호출 • 토큰 캐시를 사용하여 Microsoft Graph 호출 • 사용자 지정 웹 UI HTML을 사용하여 Microsoft Graph 호출 • 웹 브라우저를 사용하여 Microsoft Graph 호출 • 디바이스 코드 흐름을 통해 사용자 로그인 • 사용자 이름/암호를 사용하여 사용자를 로그인하여 Microsoft Graph 호출 |
MSAL.NET | • PKCE를 적용한 권한 부여 코드 • 디바이스 코드 • 리소스 소유자 암호 자격 증명 |
||
Java | • Microsoft Graph 호출 | MSAL Java | Windows 통합 인증 | ||
Node.js | • 사용자 로그인 | MSAL 노드 | PKCE가 있는 권한 부여 코드 | 빠른 시작 | 자습서 |
Python | • 사용자 로그인 | MSAL Python | 리소스 소유자 암호 자격 증명 | ||
WPF(Windows Presentation Foundation) | • 사용자 로그인 및 Microsoft Graph 호출 • WPF(Windows Presentation Foundation) 사용자 로그인, 보호된 웹 API 액세스(Microsoft Graph) • 사용자 로그인 및 ASP.NET Core 웹 API 호출 • 사용자 로그인 및 Microsoft Graph 호출 |
MSAL.NET | PKCE가 있는 권한 부여 코드 | 빠른 시작 | 자습서 |
모바일
다음 샘플에서는 Microsoft Graph API에 액세스하는 퍼블릭 클라이언트 모바일 애플리케이션을 보여 줍니다. 이러한 클라이언트 애플리케이션은 MSAL(Microsoft 인증 라이브러리)을 사용합니다.
언어/ 플랫폼 |
코드 샘플 GitHub |
인증 라이브러리 |
인증 흐름 | 빠른 시작 | 자습서 |
---|---|---|---|---|---|
.NET Core | • MAUI를 사용하여 Microsoft Graph 호출 • 브로커와 함께 MAUI를 사용하여 Microsoft Graph 호출 |
MSAL.NET | PKCE가 있는 권한 부여 코드 | ||
iOS | • Microsoft Graph 원시 호출 | MSAL iOS | PKCE가 있는 권한 부여 코드 | 빠른 시작 | 자습서 |
Java | • 사용자 로그인 및 Microsoft Graph 호출 | MSAL Android | PKCE가 있는 권한 부여 코드 | 빠른 시작 | 자습서 |
Kotlin | • 사용자 로그인 및 Microsoft Graph 호출 | MSAL Android | PKCE가 있는 권한 부여 코드 | ||
Xamarin | • 사용자 로그인 및 Microsoft Graph 호출 • broker를 통한 사용자 로그인 및 Microsoft Graph 호출 |
MSAL.NET | PKCE가 있는 권한 부여 코드 |
서비스/디먼
다음 샘플은 고유 ID(사용자 없음)로 Microsoft Graph API에 액세스하는 애플리케이션을 보여 줍니다.
언어/ 플랫폼 |
코드 샘플 GitHub |
인증 라이브러리 |
인증 흐름 | 빠른 시작 | 자습서 |
---|---|---|---|---|---|
.NET | • 보호된 웹 API에 액세스하는 .NET 콘솔 앱 • Microsoft ID 플랫폼 엔드포인트가 있는 다중 테넌트 |
MSAL.NET | 클라이언트 자격 증명 부여 | 빠른 시작 | 자습서 |
.NET Core | • Microsoft Graph 호출 • 웹 API 호출 • 관리 ID를 사용하여 MSGraph 호출 • 관리 ID를 사용하여 API 호출 • API를 호출하는 작업자 역할 |
Microsoft.Identity.Web | 클라이언트 자격 증명 부여 | ||
Java | • 비밀을 사용하여 Microsoft Graph 호출 • 인증서를 사용하여 Microsoft Graph 호출 |
MSAL Java | 클라이언트 자격 증명 부여 | 빠른 시작 | |
Node.js | • 비밀을 사용하여 Microsoft Graph 호출 | MSAL 노드 | 클라이언트 자격 증명 부여 | 빠른 시작 | 자습서 |
Python | • 비밀을 사용하여 Microsoft Graph 호출 • 인증서를 사용하여 Microsoft Graph 호출 |
MSAL Python | 클라이언트 자격 증명 부여 | 빠른 시작 |
브라우저리스(헤드리스)
다음 샘플은 웹 브라우저가 없는 디바이스에서 실행되는 공용 클라이언트 애플리케이션을 보여 줍니다. 앱은 명령줄 도구이거나 Linux나 Mac에서 실행되는 앱 또는 IoT 애플리케이션일 수 있습니다. 이 샘플에서는 다른 디바이스(예: 휴대폰)에서 대화형으로 로그인하는 사용자의 이름으로 Microsoft Graph API에 액세스하는 앱을 제공합니다. 이 클라이언트 애플리케이션은 MSAL(Microsoft 인증 라이브러리)을 사용합니다.
언어/ 플랫폼 |
코드 샘플 GitHub |
인증 라이브러리 |
인증 흐름 | 빠른 시작 | 자습서 |
---|---|---|---|---|---|
.NET Core | • 텍스트 전용 디바이스에서 보호된 API 호출 | MSAL.NET | 디바이스 코드 | ||
Java | • 사용자 로그인 및 텍스트 전용 디바이스에서 보호된 API 호출 | MSAL Java | 디바이스 코드 | ||
Python | • Microsoft Graph 호출 | MSAL Python | 디바이스 코드 |
Web API로의 Azure Functions
다음 샘플에서는 Microsoft ID 플랫폼을 사용하여 웹 API를 노출하고 HttpTrigger를 사용하여 Azure 함수를 보호하는 방법 및 웹 API에서 다운스트림 API를 호출하는 방법을 보여줍니다.
언어/ 플랫폼 |
코드 샘플 GitHub |
인증 라이브러리 |
인증 흐름 | 빠른 시작 | 자습서 |
---|---|---|---|---|---|
Python | • Microsoft Entra ID로 보호되는 Python Azure 함수 Web API | MSAL Python | 인증 코드 |
Microsoft Teams 애플리케이션
다음 샘플은 사용자를 로그인시키는 Microsoft Teams Tab 애플리케이션을 보여 줍니다. 또한 MSAL(Microsoft 인증 라이브러리)을 사용하여 사용자 ID로 Microsoft Graph API를 호출하는 방법을 보여 줍니다.
언어/ 플랫폼 |
코드 샘플 GitHub |
인증 라이브러리 |
인증 흐름 | 빠른 시작 | 자습서 |
---|---|---|---|---|---|
Node.js | • Teams 탭 앱: SSO(Single Sign-On) 및 Microsoft Graph 호출 | MSAL 노드 | OBO(On-Behalf-Of) |
다중 테넌트 SaaS
다음 샘플에서는 모든 Microsoft Entra 테넌트에서 로그인을 허용하도록 애플리케이션을 구성하는 방법을 보여 줍니다. 애플리케이션을 다중 테넌트로 구성하면 많은 조직에 SaaS(Software as a Service) 애플리케이션을 제공할 수 있으므로 사용자가 동의를 제공한 후 애플리케이션에 로그인할 수 있습니다.
언어/ 플랫폼 |
코드 샘플 GitHub |
인증 라이브러리 |
인증 흐름 | 빠른 시작 | 자습서 |
---|---|---|---|---|---|
ASP.NET Core | • ASP.NET Core MVC 웹 애플리케이션에서 Microsoft Graph API 호출 • Core MVC 웹 애플리케이션 호출 ASP.NET Core 웹 API ASP.NET |
MSAL.NET | • OpenID Connect • 인증 코드 |
관련 콘텐츠
더 많은 샘플 코드를 자세히 알아보려면 다음을 참조하세요.