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 | 빠른 시작 | GA | ||
Angular | MSAL Angular3 | msal-angular | — | GA | ||
AngularJS | MSAL AngularJS3 | msal-angularjs | — | 공개 프리뷰 | ||
JavaScript | MSAL.js v22 | msal-browser | 자습서 | GA | ||
JavaScript | MSAL.js 1.03 | msal-core | — | GA | ||
React | MSAL React2 | msal-react | 빠른 시작 | GA |
1 온라인 서비스에 대한 유니버설 사용 조건은 공개 미리 보기의 라이브러리에 적용됩니다.
PKCE만 사용하는 2 인증 코드 흐름 (권장).
3 암시적 허용 흐름 만(권장되지 않음)
웹 응용 프로그램
웹 애플리케이션은 HTML, CSS, JavaScript를 생성하고 렌더링할 사용자 웹 브라우저로 보내는 서버에서 코드를 실행합니다. 사용자의 ID는 사용자의 브라우저(프런트 엔드)와 웹 서버(백 엔드) 사이에서 세션으로 유지 관리됩니다.
웹 애플리케이션의 코드는 웹 서버에서 실행되므로 비밀을 안전하게 저장할 수 있는 ‘기밀 클라이언트’로 간주됩니다.
언어 / 프레임워크 | 프로젝트 설정 GitHub |
Package(패키지) | 가져오기 시작됨 |
사용자 로그인 | 웹 API 액세스 | GA(일반 공급) 또는 공개 미리 보기1 |
---|---|---|---|---|---|---|
.NET | MSAL.NET | Microsoft.Identity.Client | — | GA | ||
.NET | Microsoft.IdentityModel | Microsoft.IdentityModel | — | 2 | 2 | GA |
ASP.NET Core | ASP.NET Core | Microsoft.AspNetCore.Authentication | 빠른 시작 | GA | ||
ASP.NET Core | Microsoft.Identity.Web | Microsoft.Identity.Web | 빠른 시작 | GA | ||
Java | MSAL4J | msal4j | 빠른 시작 | GA | ||
Spring | spring-cloud-azure-starter-active-directory | spring-cloud-azure-starter-active-directory | 자습서 | GA | ||
Node.js | MSAL 노드 | msal-node | 빠른 시작 | GA | ||
Python | MSAL Python | msal | GA | |||
Python | identity | identity | 빠른 시작 | -- |
(1)온라인 서비스에 대한 유니버설 사용 조건은 공개 미리 보기의 라이브러리에 적용됩니다.
(2)Microsoft.IdentityModel 라이브러리는 토큰의 유효성 검사만 수행하고 ID 또는 액세스 토큰은 요청할 수 없습니다.
데스크톱 응용 프로그램
데스크톱 애플리케이션은 일반적으로 사용자 인터페이스를 표시하는 컴파일된 이진 코드이고 사용자의 데스크톱에서 실행하게 되어 있습니다.
데스크톱 애플리케이션은 사용자의 데스크톱에서 실행되므로 비밀을 안전하게 저장할 수 없는 ‘퍼블릭 클라이언트’로 간주됩니다.
언어 / 프레임워크 | 프로젝트 설정 GitHub |
Package(패키지) | 가져오기 시작됨 |
사용자 로그인 | 웹 API 액세스 | GA(일반 공급) 또는 공개 미리 보기1 |
---|---|---|---|---|---|---|
전자 | MSAL Node.js | msal-node | — | 공개 프리뷰 | ||
Java | MSAL4J | msal4j | — | GA | ||
macOS(Swift/Obj-C) | iOS 및 macOS용 MSAL | MSAL | 자습서 | GA | ||
UWP | MSAL.NET | Microsoft.Identity.Client | 자습서 | GA | ||
WPF | MSAL.NET | Microsoft.Identity.Client | 자습서 | GA |
1 온라인 서비스에 대한 유니버설 사용 조건은 공개 미리 보기의 라이브러리에 적용됩니다.
모바일 애플리케이션
모바일 애플리케이션은 일반적으로 사용자 인터페이스를 표시하는 컴파일된 이진 코드이고 사용자의 모바일 디바이스에서 실행하게 되어 있습니다.
모바일 애플리케이션은 사용자의 모바일 디바이스에서 실행되므로 비밀을 안전하게 저장할 수 없는 ‘퍼블릭 클라이언트’로 간주됩니다.
플랫폼 | 프로젝트 설정 GitHub |
Package(패키지) | 가져오기 시작됨 |
사용자 로그인 | 웹 API 액세스 | GA(일반 공급) 또는 공개 미리 보기1 |
---|---|---|---|---|---|---|
Android(Java) | MSAL Android | MSAL | 빠른 시작 | GA | ||
Android(Kotlin) | MSAL Android | MSAL | — | GA | ||
iOS(Swift/Obj-C) | iOS 및 macOS용 MSAL | MSAL | 자습서 | GA | ||
Xamarin(.NET) | MSAL.NET | Microsoft.Identity.Client | — | GA |
1 온라인 서비스에 대한 유니버설 사용 조건은 공개 미리 보기의 라이브러리에 적용됩니다.
서비스/디먼
서비스 및 디먼은 일반적으로 서버 간에 사용되거나 기타 무인(‘헤드리스’라고도 함) 통신에 사용됩니다. 키보드에 자격 증명을 입력하거나 리소스 액세스에 동의하는 사용자가 없기 때문에 이러한 애플리케이션은 웹 API 리소스에 대한 권한 부여된 액세스를 요청할 때 사용자가 아닌 애플리케이션 자신으로 인증합니다.
서버에서 실행되는 서비스 또는 디먼은 비밀을 안전하게 저장할 수 있는 ‘기밀 클라이언트’로 간주됩니다.
언어 / 프레임워크 | 프로젝트 설정 GitHub |
Package(패키지) | 가져오기 시작됨 |
사용자 로그인 | 웹 API 액세스 | GA(일반 공급) 또는 공개 미리 보기1 |
---|---|---|---|---|---|---|
.NET | MSAL.NET | Microsoft.Identity.Client | 빠른 시작 | GA | ||
Java | MSAL4J | msal4j | — | GA | ||
노드 | MSAL 노드 | msal-node | 빠른 시작 | GA | ||
Python | MSAL Python | msal-python | 빠른 시작 | GA |
1 온라인 서비스에 대한 유니버설 사용 조건은 공개 미리 보기의 라이브러리에 적용됩니다.
다음 단계
Microsoft 인증 라이브러리에 대한 자세한 내용은 MSAL(Microsoft 인증 라이브러리) 개요를 참조하세요.