Microsoft ID 플랫폼 인증 라이브러리

다음 표에서는 여러 애플리케이션 유형에 대한 Microsoft 인증 라이브러리 지원을 보여 줍니다. 여기에는 라이브러리 소스 코드 링크, 앱 프로젝트의 패키지 위치, 라이브러리가 사용자 로그인(인증), 보호된 웹 API(인증)에 대한 액세스 또는 두 경우를 모두 지원하는지 여부가 포함됩니다.

Microsoft ID 플랫폼은 OpenID Foundation에서 인증된 OpenID 공급자로 인증되었습니다. MSAL(Microsoft 인증 라이브러리) 또는 다른 Microsoft 지원 라이브러리 이외의 라이브러리를 사용하려면 인증된 OpenID Connect 구현을 통해 하나를 선택합니다.

고유한 프로토콜 수준 구현인 OAuth 2.0 또는 OpenID Connect 1.0을 직접 코딩하려면 각 표준 사양의 보안 고려 사항에 주의하고 Microsoft SDL과 같은 보안 소프트웨어 설계 및 개발 관행을 따릅니다.

SPA(단일 페이지 애플리케이션)

단일 페이지 애플리케이션은 전적으로 해당 브라우저에서 실행되며 페이지 데이터(HTML, CSS, JavaScript)를 동적으로 또는 애플리케이션 로드 시간에 불러옵니다. 웹 API를 호출하여 백 엔드 데이터 원본과 상호 작용할 수 있습니다.

SPA의 코드는 전적으로 브라우저에서 실행되기 때문에 비밀을 안전하게 저장할 수 없는 ‘퍼블릭 클라이언트’로 간주됩니다.

언어 / 프레임워크 프로젝트 설정
GitHub
Package(패키지) 가져오기
시작됨
사용자 로그인 웹 API 액세스 GA(일반 공급) 또는
공개 미리 보기1
Angular MSAL Angular v22 msal-angular 자습서 라이브러리에서 사용자 로그인에 대한 ID 토큰을 요청할 수 있습니다. 라이브러리는 보호된 웹 API에 대한 액세스 토큰을 요청할 수 있습니다. GA
Angular MSAL Angular3 msal-angular 라이브러리에서 사용자 로그인에 대한 ID 토큰을 요청할 수 있습니다. 라이브러리는 보호된 웹 API에 대한 액세스 토큰을 요청할 수 있습니다. GA
AngularJS MSAL AngularJS3 msal-angularjs 라이브러리에서 사용자 로그인에 대한 ID 토큰을 요청할 수 있습니다. 라이브러리는 보호된 웹 API에 대한 액세스 토큰을 요청할 수 있습니다. 공개 프리뷰
JavaScript MSAL.js v22 msal-browser 자습서 라이브러리에서 사용자 로그인에 대한 ID 토큰을 요청할 수 있습니다. 라이브러리는 보호된 웹 API에 대한 액세스 토큰을 요청할 수 있습니다. GA
JavaScript MSAL.js 1.03 msal-core 라이브러리에서 사용자 로그인에 대한 ID 토큰을 요청할 수 있습니다. 라이브러리는 보호된 웹 API에 대한 액세스 토큰을 요청할 수 있습니다. GA
React MSAL React2 msal-react 자습서 라이브러리에서 사용자 로그인에 대한 ID 토큰을 요청할 수 있습니다. 라이브러리는 보호된 웹 API에 대한 액세스 토큰을 요청할 수 있습니다. GA

1온라인 서비스에 대한 유니버설 사용 조건공개 미리 보기의 라이브러리에 적용됩니다.

2PKCE에만 사용하는 인증 코드 흐름(권장).

3암시적 부여 흐름 전용.

웹 응용 프로그램

웹 애플리케이션은 HTML, CSS, JavaScript를 생성하고 렌더링할 사용자 웹 브라우저로 보내는 서버에서 코드를 실행합니다. 사용자의 ID는 사용자의 브라우저(프런트 엔드)와 웹 서버(백 엔드) 사이에서 세션으로 유지 관리됩니다.

웹 애플리케이션의 코드는 웹 서버에서 실행되므로 비밀을 안전하게 저장할 수 있는 ‘기밀 클라이언트’로 간주됩니다.

언어 / 프레임워크 프로젝트 설정
GitHub
Package(패키지) 가져오기
시작됨
사용자 로그인 웹 API 액세스 GA(일반 공급) 또는
공개 미리 보기1
.NET MSAL.NET Microsoft.Identity.Client 라이브러리는 사용자 로그인에 대한 ID 토큰을 요청할 수 없습니다. 라이브러리는 보호된 웹 API에 대한 액세스 토큰을 요청할 수 있습니다. GA
.NET Microsoft.IdentityModel Microsoft.IdentityModel 라이브러리는 사용자 로그인에 대한 ID 토큰을 요청할 수 없습니다.2 라이브러리는 보호된 웹 API에 대한 액세스 토큰을 요청할 수 없습니다.2 GA
ASP.NET Core ASP.NET Core Microsoft.AspNetCore.Authentication 빠른 시작 라이브러리에서 사용자 로그인에 대한 ID 토큰을 요청할 수 있습니다. 라이브러리는 보호된 웹 API에 대한 액세스 토큰을 요청할 수 없습니다. GA
ASP.NET Core Microsoft.Identity.Web Microsoft.Identity.Web 빠른 시작 라이브러리에서 사용자 로그인에 대한 ID 토큰을 요청할 수 있습니다. 라이브러리는 보호된 웹 API에 대한 액세스 토큰을 요청할 수 있습니다. GA
Java MSAL4J msal4j 빠른 시작 라이브러리에서 사용자 로그인에 대한 ID 토큰을 요청할 수 있습니다. 라이브러리는 보호된 웹 API에 대한 액세스 토큰을 요청할 수 있습니다. GA
Spring spring-cloud-azure-starter-active-directory spring-cloud-azure-starter-active-directory 자습서 라이브러리에서 사용자 로그인에 대한 ID 토큰을 요청할 수 있습니다. 라이브러리는 보호된 웹 API에 대한 액세스 토큰을 요청할 수 있습니다. GA
Node.js MSAL 노드 msal-node 빠른 시작 라이브러리에서 사용자 로그인에 대한 ID 토큰을 요청할 수 있습니다. 라이브러리는 보호된 웹 API에 대한 액세스 토큰을 요청할 수 있습니다. GA
Python MSAL Python msal 라이브러리에서 사용자 로그인에 대한 ID 토큰을 요청할 수 있습니다. 라이브러리는 보호된 웹 API에 대한 액세스 토큰을 요청할 수 있습니다. GA
Python identity identity 빠른 시작 라이브러리에서 사용자 로그인에 대한 ID 토큰을 요청할 수 있습니다. 라이브러리는 보호된 웹 API에 대한 액세스 토큰을 요청할 수 있습니다. --

(1)온라인 서비스에 대한 유니버설 사용 조건공개 미리 보기의 라이브러리에 적용됩니다.

(2)Microsoft.IdentityModel 라이브러리는 토큰의 유효성 검사만 수행하고 ID 또는 액세스 토큰은 요청할 수 없습니다.

데스크톱 응용 프로그램

데스크톱 애플리케이션은 일반적으로 사용자 인터페이스를 표시하는 컴파일된 이진 코드이고 사용자의 데스크톱에서 실행하게 되어 있습니다.

데스크톱 애플리케이션은 사용자의 데스크톱에서 실행되므로 비밀을 안전하게 저장할 수 없는 ‘퍼블릭 클라이언트’로 간주됩니다.

언어 / 프레임워크 프로젝트 설정
GitHub
Package(패키지) 가져오기
시작됨
사용자 로그인 웹 API 액세스 GA(일반 공급) 또는
공개 미리 보기1
전자 MSAL Node.js msal-node 라이브러리에서 사용자 로그인에 대한 ID 토큰을 요청할 수 있습니다. 라이브러리는 보호된 웹 API에 대한 액세스 토큰을 요청할 수 있습니다. 공개 프리뷰
Java MSAL4J msal4j 라이브러리에서 사용자 로그인에 대한 ID 토큰을 요청할 수 있습니다. 라이브러리는 보호된 웹 API에 대한 액세스 토큰을 요청할 수 있습니다. GA
macOS(Swift/Obj-C) iOS 및 macOS용 MSAL MSAL 자습서 라이브러리에서 사용자 로그인에 대한 ID 토큰을 요청할 수 있습니다. 라이브러리는 보호된 웹 API에 대한 액세스 토큰을 요청할 수 있습니다. GA
UWP MSAL.NET Microsoft.Identity.Client 자습서 라이브러리에서 사용자 로그인에 대한 ID 토큰을 요청할 수 있습니다. 라이브러리는 보호된 웹 API에 대한 액세스 토큰을 요청할 수 있습니다. GA
WPF MSAL.NET Microsoft.Identity.Client 자습서 라이브러리에서 사용자 로그인에 대한 ID 토큰을 요청할 수 있습니다. 라이브러리는 보호된 웹 API에 대한 액세스 토큰을 요청할 수 있습니다. GA

1온라인 서비스에 대한 유니버설 사용 조건공개 미리 보기의 라이브러리에 적용됩니다.

모바일 애플리케이션

모바일 애플리케이션은 일반적으로 사용자 인터페이스를 표시하는 컴파일된 이진 코드이고 사용자의 모바일 디바이스에서 실행하게 되어 있습니다.

모바일 애플리케이션은 사용자의 모바일 디바이스에서 실행되므로 비밀을 안전하게 저장할 수 없는 ‘퍼블릭 클라이언트’로 간주됩니다.

플랫폼 프로젝트 설정
GitHub
Package(패키지) 가져오기
시작됨
사용자 로그인 웹 API 액세스 GA(일반 공급) 또는
공개 미리 보기1
Android(Java) MSAL Android MSAL 빠른 시작 라이브러리에서 사용자 로그인에 대한 ID 토큰을 요청할 수 있습니다. 라이브러리는 보호된 웹 API에 대한 액세스 토큰을 요청할 수 있습니다. GA
Android(Kotlin) MSAL Android MSAL 라이브러리에서 사용자 로그인에 대한 ID 토큰을 요청할 수 있습니다. 라이브러리는 보호된 웹 API에 대한 액세스 토큰을 요청할 수 있습니다. GA
iOS(Swift/Obj-C) iOS 및 macOS용 MSAL MSAL 자습서 라이브러리에서 사용자 로그인에 대한 ID 토큰을 요청할 수 있습니다. 라이브러리는 보호된 웹 API에 대한 액세스 토큰을 요청할 수 있습니다. GA
Xamarin(.NET) MSAL.NET Microsoft.Identity.Client 라이브러리에서 사용자 로그인에 대한 ID 토큰을 요청할 수 있습니다. 라이브러리는 보호된 웹 API에 대한 액세스 토큰을 요청할 수 있습니다. GA

1온라인 서비스에 대한 유니버설 사용 조건공개 미리 보기의 라이브러리에 적용됩니다.

서비스/디먼

서비스 및 디먼은 일반적으로 서버 간에 사용되거나 기타 무인(‘헤드리스’라고도 함) 통신에 사용됩니다. 키보드에 자격 증명을 입력하거나 리소스 액세스에 동의하는 사용자가 없기 때문에 이러한 애플리케이션은 웹 API 리소스에 대한 권한 부여된 액세스를 요청할 때 사용자가 아닌 애플리케이션 자신으로 인증합니다.

서버에서 실행되는 서비스 또는 디먼은 비밀을 안전하게 저장할 수 있는 ‘기밀 클라이언트’로 간주됩니다.

언어 / 프레임워크 프로젝트 설정
GitHub
Package(패키지) 가져오기
시작됨
사용자 로그인 웹 API 액세스 GA(일반 공급) 또는
공개 미리 보기1
.NET MSAL.NET Microsoft.Identity.Client 빠른 시작 라이브러리는 사용자 로그인에 대한 ID 토큰을 요청할 수 없습니다. 라이브러리는 보호된 웹 API에 대한 액세스 토큰을 요청할 수 있습니다. GA
Java MSAL4J msal4j 라이브러리는 사용자 로그인에 대한 ID 토큰을 요청할 수 없습니다. 라이브러리는 보호된 웹 API에 대한 액세스 토큰을 요청할 수 있습니다. GA
노드 MSAL 노드 msal-node 빠른 시작 라이브러리는 사용자 로그인에 대한 ID 토큰을 요청할 수 없습니다. 라이브러리는 보호된 웹 API에 대한 액세스 토큰을 요청할 수 있습니다. GA
Python MSAL Python msal-python 빠른 시작 라이브러리는 사용자 로그인에 대한 ID 토큰을 요청할 수 없습니다. 라이브러리는 보호된 웹 API에 대한 액세스 토큰을 요청할 수 있습니다. GA

1온라인 서비스에 대한 유니버설 사용 조건공개 미리 보기의 라이브러리에 적용됩니다.

다음 단계

Microsoft 인증 라이브러리에 대한 자세한 내용은 MSAL(Microsoft 인증 라이브러리) 개요를 참조하세요.