Azure Active Directory 인증 라이브러리
경고
이 콘텐츠는 이전 Azure AD v1.0 엔드포인트용입니다. 새 프로젝트에 Microsoft ID 플랫폼 사용합니다.
ADAL(Azure Active Directory 인증 라이브러리) v1.0을 사용하면 애플리케이션 개발자가 클라우드 또는 온-프레미스 AD(Active Directory)에 사용자를 인증하고 API 호출을 보호하기 위한 토큰을 가져올 수 있습니다. ADAL을 사용하면 다음과 같은 기능을 통해 개발자가 더 쉽게 인증할 수 있습니다.
- 액세스 토큰 및 새로 고침 토큰을 저장하는 구성 가능한 토큰 캐시
- 액세스 토큰이 만료되고 새로 고침 토큰을 사용할 수 있는 경우 자동 토큰 새로 고침
- 비동기 메서드 호출 지원
비고
Azure AD v2.0 라이브러리를 찾고 있나요? MSAL 라이브러리 가이드확인하세요.
경고
Azure ADAL(Active Directory 인증 라이브러리)은 사용되지 않습니다. MSAL(Microsoft 인증 라이브러리) 사용하세요. ADAL을 사용하는 기존 애플리케이션이 있는 경우 MSAL로 마이그레이션합니다.
Microsoft에서 지원하는 클라이언트 라이브러리
플랫폼 | 라이브러리 | 다운로드 | 소스 코드 | 예시 | 참고 문헌 |
---|---|---|---|---|---|
.NET 클라이언트, Windows 스토어, UWP, Xamarin iOS 및 Android | ADAL .NET v3 | NuGet | GitHub | 데스크톱 앱 | |
JavaScript | ADAL.js | GitHub | GitHub | 단일 페이지 앱 | |
iOS, macOS | ADAL | GitHub | GitHub | iOS 앱 | |
안드로이드 | ADAL | Maven | GitHub | Android 앱 | JavaDocs |
Node.js | ADAL | npm | GitHub | Node.js 웹앱 | 참조 |
자바 | ADAL4J | Maven | GitHub | java 웹앱 | 참조 |
파이썬 | ADAL | GitHub | GitHub | python 웹앱 | 참조 |
Microsoft에서 지원하는 서버 라이브러리
플랫폼 | 라이브러리 | 다운로드 | 소스 코드 | 예시 | 참고 문헌 |
---|---|---|---|---|---|
.NET | AzureAD용 OWIN | NuGet | GitHub | MVC 앱 | |
.NET | OpenIDConnect용 OWIN | NuGet | GitHub | 웹앱 | |
.NET | OWIN for WS-Federation | NuGet | GitHub | MVC 웹앱 | |
.NET | .NET 4.5용 ID 프로토콜 확장 | NuGet | GitHub | ||
.NET | .NET 4.5용 JWT 처리기 | NuGet | GitHub | ||
Node.js | Azure AD Passport | npm | GitHub | 웹 API |
시나리오
원격 리소스에 액세스하는 클라이언트에서 ADAL을 사용하는 세 가지 일반적인 시나리오는 다음과 같습니다.
디바이스에서 실행되는 네이티브 클라이언트 애플리케이션의 사용자 인증
이 시나리오에서 개발자는 웹 API와 같은 원격 리소스에 액세스해야 하는 모바일 클라이언트 또는 데스크톱 애플리케이션을 가지고 있습니다. 웹 API는 익명 호출을 허용하지 않으며 인증된 사용자의 컨텍스트에서 호출해야 합니다. 웹 API는 특정 Azure AD 테넌트에서 발급한 액세스 토큰을 신뢰하도록 미리 구성됩니다. Azure AD는 해당 리소스에 대한 액세스 토큰을 발급하도록 미리 구성됩니다. 클라이언트에서 웹 API를 호출하기 위해 개발자는 ADAL을 사용하여 Azure AD로 인증을 용이하게 합니다. ADAL을 사용하는 가장 안전한 방법은 사용자 자격 증명을 수집하기 위한 사용자 인터페이스를 렌더링하도록 하는 것입니다(브라우저 창으로 렌더링됨).
ADAL을 사용하면 사용자를 쉽게 인증하고, Azure AD에서 액세스 토큰 및 새로 고침 토큰을 가져온 다음, 액세스 토큰을 사용하여 웹 API를 호출할 수 있습니다.
Azure AD에 대한 인증을 사용하는 이 시나리오를 보여 주는 코드 샘플은 Native Client WPF Application to Web API참조하세요.
웹 서버에서 실행되는 기밀 클라이언트 애플리케이션 인증
이 시나리오에서 개발자는 웹 API와 같은 원격 리소스에 액세스해야 하는 서버에서 실행되는 애플리케이션을 가지고 있습니다. 웹 API는 익명 호출을 허용하지 않으므로 권한 있는 서비스에서 호출해야 합니다. 웹 API는 특정 Azure AD 테넌트에서 발급한 액세스 토큰을 신뢰하도록 미리 구성됩니다. Azure AD는 클라이언트 자격 증명(클라이언트 ID 및 비밀)이 있는 서비스에 해당 리소스에 대한 액세스 토큰을 발급하도록 미리 구성됩니다. ADAL은 웹 API를 호출하는 데 사용할 수 있는 액세스 토큰을 반환하는 Azure AD를 사용하여 서비스의 인증을 용이하게 합니다. 또한 ADAL은 액세스 토큰을 캐싱하고 필요에 따라 갱신하여 액세스 토큰의 수명 관리를 처리합니다. 이 시나리오를 보여 주는 코드 샘플은 디먼 콘솔 애플리케이션에서 Web API참조하세요.
사용자를 대신하여 서버에서 실행되는 기밀 클라이언트 애플리케이션 인증
이 시나리오에서 개발자는 웹 API와 같은 원격 리소스에 액세스해야 하는 서버에서 실행되는 웹 애플리케이션을 가지고 있습니다. 웹 API는 익명 호출을 허용하지 않으므로 인증된 사용자를 대신하여 권한 있는 서비스에서 호출해야 합니다. 웹 API는 특정 Microsoft Entra 테넌트에서 발급한 액세스 토큰을 신뢰하도록 미리 구성되어 있으며, Microsoft Entra ID는 클라이언트 자격 증명이 있는 서비스에 해당 리소스에 대한 액세스 토큰을 발급하도록 미리 구성됩니다. 사용자가 웹 애플리케이션에서 인증되면 애플리케이션은 Microsoft Entra ID에서 사용자에 대한 권한 부여 코드를 가져올 수 있습니다. 그런 다음 웹 애플리케이션은 ADAL을 사용하여 Microsoft Entra ID에서 애플리케이션과 연결된 권한 부여 코드 및 클라이언트 자격 증명을 사용하여 사용자를 대신하여 액세스 토큰을 가져오고 토큰을 새로 고칠 수 있습니다. 웹 애플리케이션이 액세스 토큰을 소유하고 있으면 토큰이 만료될 때까지 웹 API를 호출할 수 있습니다. 토큰이 만료되면 웹 애플리케이션은 ADAL을 사용하여 이전에 받은 새로 고침 토큰을 사용하여 새 액세스 토큰을 가져올 수 있습니다. 이 시나리오를 보여 주는 코드 샘플은 Native Client에서 Web API로의 Web API참조하세요.
또한 참조하십시오
- Azure Active Directory 개발자 가이드
- Azure Active Directory 대한 인증 시나리오
- Azure Active Directory 코드 샘플