Microsoft Authenticator를 사용하는 iOS 애플리케이션을 ADAL.NET에서 MSAL.NET으로 마이그레이션
.NET(ADAL.NET) 및 iOS Broker 용 Azure Active Directory 인증 라이브러리를 사용하고 있습니다. 이제 릴리스 4.3부터 iOS에서 Broker를 지원하는 .NET(MSAL.NET)용 Microsoft Authentication Library로 마이그레이션 할 시간입니다.
어디서 시작해야 합니까? 이 문서는 ADAL에서 MSAL으로 Xamarin iOS 앱을 마이그레이션하는 데 도움이 됩니다.
필수 조건
이 문서에서는 iOS Broker와 통합된 Xamarin iOS 앱이 이미 있다고 가정합니다. 그렇지 않은 경우 MSAL.NET으로 직접 이동하여 해당 위치에서 Broker 구현을 시작합니다. 새 애플리케이션을 사용하여 MSAL.NET에서 iOS Broker를 호출하는 방법에 대한 자세한 내용은 이 설명서를 참조하십시오.
배경
Broker는 무엇인가요?
Broker는 Microsoft가 Android 및 iOS에서 제공하는 애플리케이션입니다. (iOS 및 Android에서는 Microsoft Authenticator 앱을, Android에서는 Intune 회사 포털 앱을 참조하세요.)
다음을 사용하도록 설정합니다:
- Single Sign-On.
- 디바이스 ID는 일부 조건부 액세스 정책에 필요합니다. 자세한 내용은 디바이스 관리를 참조하세요.
- 애플리케이션 ID 확인은 일부 엔터프라이즈 시나리오에도 필요합니다. 자세한 내용은 Intune MAM(모바일 애플리케이션 관리)을 참조하세요.
ADAL에서 MSAL로 마이그레이션
1단계: 브로커를 사용하도록 설정
현재 ADAL 코드: | MSAL 대응: |
ADAL.NET에서 Broker 지원은 인증별 컨텍스트를 기준으로 사용하도록 설정되었습니다. 기본적으로 비활성화되어 있습니다. 다음을 설정해야 합니다 Broker를 호출하려면
또한 플랫폼별 코드(이 예제에서는 iOS용 페이지 렌더러)에서 을 설정합니다.true로
그런 다음 토큰 가져오기 호출에 매개 변수를 포함합니다.
|
MSAL.NET에서 브로커 지원은 PublicClientApplication 기준으로 사용하도록 설정됩니다. 기본적으로 비활성화되어 있습니다. 사용하도록 설정하려면 다음을 사용합니다 Broker를 호출하기 위한
토큰 가져오기 호출에서 다음을 수행합니다:
|
2단계: UIViewController() 설정
ADAL.NET에서 PlatformParameters
의 일부로 UIViewController를 전달했습니다. (1단계의 예제를 참조하세요.) MSAL.NET에서는 개발자에게 더 많은 유연성을 제공하기 위해 개체 창이 사용되지만 일반적인 iOS 사용에는 필요하지 않습니다. Broker를 사용하려면 Broker에서 응답을 보내고 받기 위해 개체 창을 설정합니다.
현재 ADAL 코드: | MSAL 대응: |
UIViewController는 다음으로 전달됩니다. iOS 특정 플랫폼의
|
MSAL.NET에서 iOS용 개체 창을 설정하려면 두 가지 작업을 수행합니다:
예:
토큰 가져오기 호출에서 다음을 수행합니다:
|
3단계: 콜백을 처리하도록 AppDelegate 업데이트
ADAL과 MSAL은 모두 Broker를 호출하고 Broker는 순서대로 AppDelegate
클래스의 OpenUrl
메서드를 통해 애플리케이션을 다시 호출합니다. 자세한 내용은 SDK 설명서를 참조하세요.
ADAL.NET과 MSAL.NET 사이에는 변경 내용이 없습니다.
4단계: URL 구성표 등록
ADAL.NET 및 MSAL.NET은 URL을 사용하여 Broker를 호출하고 Broker 응답을 앱으로 다시 반환합니다. 다음과 같이 앱의 Info.plist
파일에 URL 구성표를 등록합니다:
현재 ADAL 코드: | MSAL 대응: |
URL 구성표는 앱에 고유합니다. |
입니다.
접두사로, 예:
참고 항목 이 URL 구성표는 Broker의 응답을 받을 때 앱을 고유하게 식별하는데 사용되는 리디렉션 URI의 일부가 됩니다. |
5단계: LSApplicationQueriesSchemes 섹션에 Broker 식별자 추가
ADAL.NET과 MSAL.NET은 모두 -canOpenURL:
을 사용하여 디바이스에 Broker가 설치되어 있는지 확인합니다. 다음과 같이 info.plist 파일의 LSApplicationQueriesSchemes 섹션에 iOS Broker에 대한 올바른 식별자를 추가합니다:
현재 ADAL 코드: | MSAL 대응: |
사용
|
사용
|
6 단계: Azure Portal에서 리디렉션 URI 등록
ADAL.NET 및 MSAL.NET은 모두 Broker를 대상으로 하는 경우 리디렉션 URI에 대한 추가 요구 사항을 추가합니다. Azure Portal에서 리디렉션 URI를 애플리케이션에 등록합니다.
현재 ADAL 코드: | MSAL 대응: |
예시:
|
예시:
|
Azure Portal에서 리디렉션 URI를 등록하는 방법에 대한 자세한 내용은 7 단계: 앱 등록에 리디렉션 URI 추가를 참조하세요.
7 단계: Entitlements.plist 설정
Entitlements.plist 파일에서 키 집합 액세스를 사용하도록 설정합니다:
<key>keychain-access-groups</key>
<array>
<string>$(AppIdentifierPrefix)com.microsoft.adalcache</string>
</array>
키 집합 액세스를 사용하도록 설정하는 것에 대한 자세한 내용은 키 집합 액세스 사용 설정을 참조하세요.
다음 단계
MSAL.NET의 Xamarin iOS 관련 고려 사항에 대해 알아봅니다.