iOS 및 macOS용 Microsoft Authentication Library

iOS 및 macOS용 MSAL(Microsoft 인증 라이브러리)은 업계 표준 OAuth2 및 OpenID Connect를 사용하여 앱에 인증을 원활하게 통합하는 데 사용할 수 있는 인증 SDK입니다. 이를 통해 Microsoft ID를 사용하여 사용자 또는 앱에 로그인할 수 있습니다. 이러한 ID에는 Microsoft Entra ID 회사 및 학교 계정, 개인 Microsoft 계정, 소셜 계정 및 고객 계정이 포함됩니다.

iOS 및 macOS용 MSAL을 사용하여 Microsoft ID 플랫폼 보안 토큰을 획득하여 사용자를 인증하고 해당 애플리케이션에 대한 보안 웹 API에 액세스할 수 있습니다. 라이브러리는 SSO(Single Sign-On), 조건부 액세스 및 조정된 인증과 같은 여러 인증 시나리오를 지원합니다.

MSAL의 네이티브 인증 지원

MSAL iOS는 애플리케이션이 모바일 애플리케이션에서 엔드 투 엔드 사용자 지정 가능한 흐름을 사용하여 네이티브 환경을 구현할 수 있도록 하는 네이티브 인증 API를 제공합니다. 네이티브 인증을 사용하면 사용자는 앱을 종료하지 않고 풍부한 네이티브 모바일 우선 등록 및 로그인 과정을 안내합니다. 네이티브 인증 기능은 고객의 외부 ID에 있는 모바일 앱에만 사용할 수 있습니다. macOS는 지원되지 않습니다. 항상 최신 버전의 SDK를 사용하는 것이 좋습니다.

iOS 및 macOS용 MSAL 개념 설명서 시작

MSAL 설명서에서는 일반적인 패턴, 오류 처리 및 디버깅 모범 사례, 추가 라이브러리 기능(예: 로깅, 원격 분석) 및 알려진 완화와 관련된 활성 버그 또는 일반적인 문제에 대해 설명합니다. Microsoft Entra ID 및 Microsoft 계정을 시작하는 데 더 많은 도움이 필요하다면 Microsoft ID 플랫폼 문서를 확인하세요. Microsoft Graph API에 대한 자세한 정보가 필요하다면 Microsoft Graph 문서를 확인하세요. MSAL iOS 및 macOS를 효과적으로 사용하여 애플리케이션을 보호하려면 다음 개념을 숙지하는 것이 중요합니다.

  1. iOS용 MSAL과 macOS의 차이점 알아보기
  2. Microsoft Entra 앱 등록
  3. iOS 및 macOS용 MSAL을 설치하고 라이브러리를 사용하도록 프로젝트를 구성합니다.
  4. 보호된 API에 액세스하기 위한 토큰 획득

애플리케이션에서 MSAL iOS 및 macOS를 사용하려면 Microsoft Entra 관리 센터에 애플리케이션을 등록하고 프로젝트를 구성해야 합니다. SDK는 브라우저 위임 및 네이티브 인증 환경을 모두 지원하므로 시나리오에 따라 이러한 빠른 시작 중 하나의 단계를 따릅니다.

지원되는 버전

iOS - MSAL은 iOS 14 이상을 지원합니다.

macOS - MSAL은 macOS(OSX) 10.13 이상을 지원합니다.

iOS용 Microsoft 인증 라이브러리 macOS 간의 주요 차이점

이 섹션에서는 iOS 및 macOS용 MSAL(Microsoft 인증 라이브러리)의 기능 차이점을 설명합니다.

메모

Mac에서 MSAL은 macOS 앱만 지원합니다.

일반 차이

macOS용 MSAL은 iOS에서 사용할 수 있는 기능의 하위 집합입니다.

macOS용 MSAL은 다음을 지원하지 않습니다.

  • ASWebAuthenticationSession, SFAuthenticationSession, SFSafariViewController와 같은 다양한 브라우저 유형.
  • Microsoft Authenticator 앱을 통한 조정된 인증은 macOS에서 지원되지 않습니다.

동일한 게시자의 앱 간에 키 집합 공유는 macOS 10.14 이하에서 더 제한됩니다. 액세스 제어 목록을 사용하여 키 집합을 공유해야 하는 앱의 경로를 지정합니다. 사용자에게 추가 키 집합 프롬프트가 표시 될 수 있습니다.

macOS 10.15 이상에서 MSAL의 동작은 iOS와 macOS 간에 동일합니다. MSAL은 키 집합 공유에 키 집합 액세스 그룹을 사용합니다.

조건부 액세스 인증

조건부 액세스 시나리오의 경우 iOS용 MSAL을 사용하는 경우 사용자 프롬프트 수가 줄어듭니다. iOS는 브로커 앱(Microsoft Authenticator)을 사용하므로 경우에 따라 사용자에게 프롬프트를 표시할 필요가 없습니다.

프로젝트 설정

macOS

  • macOS에서 프로젝트를 설정할 때 애플리케이션이 유효한 개발 또는 프로덕션 인증서로 서명되었는지 확인합니다. MSAL은 여전히 서명되지 않은 모드에서 작동하지만 캐시 지속성과 관련하여 다르게 동작합니다. 앱은 디버깅 목적으로만 서명되지 않은 상태로 실행되어야 합니다. 서명되지 않은 앱을 배포하는 경우 다음을 수행합니다.
  1. 10.14 및 이전 버전에서 MSAL은 앱을 다시 시작할 때마다 사용자에게 키 집합 암호를 묻는 메시지를 표시합니다.
  2. 10.15 이상에서 MSAL은 사용자에게 모든 토큰 획득에 대한 자격 증명을 묻는 메시지를 표시합니다.
  • macOS 앱은 AppDelegate 호출을 구현할 필요가 없습니다.

iOS

  • 인증 브로커 흐름을 지원하도록 프로젝트를 설정하는 추가 단계가 있습니다. 이 단계는 자습서에서 호출됩니다.
  • iOS 프로젝트는 info.plist에 사용자 지정 체계를 등록해야 합니다. macOS에서는 필요하지 않습니다.

ADAL(Azure Active Directory 인증 라이브러리)에서 마이그레이션

Objective-C 대한 ADAL(Azure Active Directory 인증 라이브러리)은 2023년 6월 30일부터 더 이상 사용되지 않습니다. 사용자 또는 조직에서 ADAL(Azure Active Directory 인증 라이브러리)을 사용하는 경우 앱의 보안을 위험에 빠뜨리지 않도록 MSAL로 마이그레이션해야 합니다.

샘플

포괄적인 샘플 목록을 참조하세요.

SDK에 대한 도움말 보기

MSAL SDK에 대한 질문이 있거나 설명서에서 오류를 발견했거나 권장 사항이 필요한 경우 세부 정보와 함께 Github 문제를 만드세요.