다음을 통해 공유


샘플 macOS(Swift) 앱에서 기본 인증을 사용하여 사용자 로그인

이 가이드에서는 Microsoft Entra 외부 ID를 사용하여 등록, 로그인 시나리오를 시연하는 macOS 샘플 애플리케이션을 실행하는 방법을 보여 줍니다.

이 문서에서는 다음 방법을 설명합니다.

  • 외부 테넌트에 애플리케이션을 등록합니다.
  • 공용 클라이언트 및 네이티브 인증 흐름을 사용하도록 설정합니다.
  • 외부 테넌트에서 사용자 흐름을 만듭니다.
  • 애플리케이션을 사용자 흐름과 연결합니다.
  • 고유한 외부 테넌트 세부 정보를 사용하도록 샘플 macOS 네이티브 애플리케이션을 업데이트합니다.
  • 샘플 macOS 네이티브 애플리케이션을 실행하고 테스트합니다.

필수 조건

애플리케이션 등록

애플리케이션이 Microsoft Entra를 사용하여 사용자를 로그인할 수 있도록 하려면 Microsoft Entra 외부 ID가 사용자가 생성한 애플리케이션을 인식해야 합니다. 앱 등록은 앱과 Microsoft Entra 간의 신뢰 관계를 설정합니다. 애플리케이션을 등록하면 외부 ID는 인증 요청을 만들 때 앱을 식별하는 데 사용되는 값인 애플리케이션(클라이언트) ID라는 고유 식별자를 만듭니다.

다음 단계에서는 Microsoft Entra 관리 센터에 앱을 등록하는 방법을 보여 줍니다.

  1. 최소한 애플리케이션 개발자 자격으로 Microsoft Entra 관리 센터에 로그인합니다.

  2. 여러 테넌트에 액세스할 수 있는 경우 상단 메뉴의 설정 아이콘을 사용하여 디렉터리 + 구독 메뉴에서 외부 테넌트로 전환합니다.

  3. ID>애플리케이션>앱 등록으로 이동합니다.

  4. + 새 등록을 선택합니다.

  5. 애플리케이션 등록 페이지가 표시됩니다.

    1. 앱 사용자에게 표시될 의미 있는 애플리케이션 이름을 입력합니다(예: ciam-client-app).
    2. 지원되는 계정 유형에서 이 조직 디렉터리의 계정만을 선택합니다.
  6. 등록을 선택합니다.

  7. 성공적으로 등록되면 애플리케이션의 개요 창이 표시됩니다. 애플리케이션 소스 코드에 사용할 애플리케이션(클라이언트) ID를 기록해 둡니다.

공용 클라이언트 및 네이티브 인증 흐름 사용

이 앱이 공용 클라이언트이고 네이티브 인증을 사용할 수 있도록 지정하려면 공용 클라이언트 및 네이티브 인증 흐름을 사용하도록 설정합니다.

  1. 앱 등록 페이지에서 공용 클라이언트 및 네이티브 인증 흐름을 사용하도록 설정할 앱 등록을 선택합니다.
  2. 관리에서 인증을 선택합니다.
  3. 고급 설정에서 공용 클라이언트 흐름을 허용합니다.
    1. 다음 모바일 및 데스크톱 흐름을 사용에 대해 를 선택합니다.
    2. 네이티브 인증 사용에 대해 를 선택합니다.
  4. 저장 단추를 선택합니다.
  1. 앱 등록 페이지에서 만든 애플리케이션(예: ciam-client-app)을 선택하여 개요 페이지를 엽니다.

  2. 관리 아래에서 API 권한을 선택합니다. 구성된 권한 목록에서 애플리케이션에 User.Read 권한이 할당되었습니다. 그러나 테넌트는 외부 테넌트이므로 소비자 사용자 자신은 이러한 권한에 동의할 수 없습니다. 관리자는 테넌트의 모든 사용자를 대신하여 다음 권한에 동의해야 합니다.

    1. <테넌트 이름>에 대한 관리자 동의 부여를 선택한 다음 를 선택합니다.
    2. 새로 고침을 선택한 다음 두 범위에 대해 <테넌트 이름>에 부여됨상태 아래에 표시되는지 확인합니다.

사용자 흐름 만들기

다음 단계에 따라 사용자 흐름을 만듭니다.

  1. 최소한 애플리케이션 개발자 자격으로 Microsoft Entra 관리 센터에 로그인합니다.

  2. 여러 테넌트에 액세스할 수 있는 경우 외부 테넌트가 포함된 디렉터리를 사용해야 합니다.

    1. 도구 모음에서 디렉터리 + 구독 아이콘을 선택합니다.
    2. 포털 설정 | 디렉터리 + 구독 페이지에서 디렉터리 이름 목록에서 외부 테넌트 디렉터리를 찾은 다음 전환합니다.
  3. 사이드바 메뉴에서 ID를 선택합니다.

  4. 외부 ID>사용자 흐름을 선택합니다.

  5. +새 사용자 흐름을 선택합니다.

  6. 만들기 페이지에서:

    1. SignInSignUpSample과 같은 사용자 흐름에 사용할 이름을 입력합니다.

    2. ID 공급자 목록에서 이메일 계정을 선택합니다. 이 ID 공급자를 통해 사용자는 이메일 주소와 비밀번호를 사용하여 로그인하거나 가입할 수 있습니다.

    3. 이메일 계정 아래에서 두 가지 옵션 중 하나를 선택할 수 있습니다. 이 자습서에서는 암호가 있는 이메일을 선택합니다.

      • 암호가 포함된 이메일: 새 사용자가 이메일 주소를 로그인 이름으로 사용하고 암호를 1단계 자격 증명으로 사용하여 가입하고 로그인할 수 있도록 허용합니다.
      • 일회용 암호 전자 메일: 새 사용자가 로그인 이름으로 전자 메일 주소를 사용하여 등록하고 로그인하고 일회용 암호를 첫 번째 요소 자격 증명으로 전자 메일로 사용할 수 있습니다. 이 옵션을 사용자 흐름 수준에서 사용할 수 있도록 하려면 테넌트 수준에서 전자 메일 OTP(일회용 암호)를 사용하도록 설정하고(모든 ID 공급자 선택) 전자 메일 일회용 암호를 구성을 선택하고 옵션을 선택합니다. 저장)을 선택합니다.
    4. 사용자 특성 등록 시 사용자로부터 수집하려는 특성을 선택할 수 있습니다. 이 가이드에서는 국가/지역도시를 선택합니다.

  7. 만들기를 실행합니다. 사용자 흐름 목록에 새 사용자 흐름이 표시됩니다. 필요한 경우 페이지를 새로 고칩니다.

애플리케이션을 사용자 흐름과 연결

고객 사용자가 앱을 사용할 때 가입 또는 로그인 환경을 볼 수 있도록 하려면 앱을 사용자 흐름과 연결해야 합니다. 많은 애플리케이션을 사용자 흐름과 연결할 수 있지만 단일 애플리케이션은 하나의 사용자 흐름에만 연결할 수 있습니다.

  1. 사이드바 메뉴에서 ID를 선택합니다.

  2. External Identities를 선택한 다음 사용자 흐름을 선택합니다.

  3. 사용자 흐름 페이지에서 이전에 만든 사용자 흐름 이름(예: SignInSignUpSample)을 선택합니다.

  4. 사용에서 애플리케이션을 선택합니다.

  5. 애플리케이션 추가를 선택합니다.

  6. ciam-client-app과 같은 목록에서 애플리케이션을 선택하거나 검색 상자를 사용하여 애플리케이션을 찾은 다음 선택합니다.

  7. 선택을 선택합니다.

앱을 사용자 흐름과 연결하면 Microsoft Entra 관리 센터 내에서 애플리케이션에 대한 사용자 가입 또는 로그인 환경을 시뮬레이션하여 사용자 흐름을 테스트할 수 있습니다. 이렇게 하려면 가입 및 로그인 사용자 흐름 테스트에 나와 있는 단계를 따르세요.

샘플 macOS 애플리케이션 복제

  1. 터미널을 열고 코드를 유지하려는 디렉터리로 이동합니다.

  2. 다음 명령을 실행하여 GitHub에서 macOS 애플리케이션을 복제합니다.

    git clone https://github.com/Azure-Samples/ms-identity-ciam-native-auth-macos-sample.git
    
  3. 리포지토리가 복제된 디렉터리로 이동합니다.

    cd ms-identity-ciam-native-auth-macos-sample
    

샘플 macOS 애플리케이션 구성

  1. Xcode에서 NativeAuthSampleAppMacOS.xcodeproj 프로젝트를 엽니다.

  2. NativeAuthSampleApp/Configuration.swift 파일을 엽니다.

  3. 자리 표시자 찾기:

    • Enter_the_Application_Id_Here를 이전에 등록한 앱의 애플리케이션(클라이언트) ID로 바꿉니다.
    • Enter_the_Tenant_Subdomain_Here를 디렉터리(테넌트) 하위 도메인으로 바꿉니다. 예를 들어 테넌트 주 도메인이 contoso.onmicrosoft.com인 경우 contoso를 사용합니다. 테넌트 하위 도메인이 없는 경우 테넌트 세부 정보를 읽는 방법을 알아봅니다.

참고 항목

빌드할 스키마와 빌드된 제품을 실행하는 대상을 선택해야 합니다. 각 스키마에는 사용 가능한 대상을 나타내는 실제 또는 시뮬레이션된 디바이스 목록이 포함됩니다.

샘플 macOS 애플리케이션 실행 및 테스트

코드를 빌드하고 실행하려면 Xcode의 제품 메뉴에서 실행을 선택합니다. 빌드에 성공하면 Xcode가 시뮬레이터에서 샘플 앱을 시작합니다.

macOS 앱에서 이메일과 비밀번호를 입력하라는 사용자 프롬프트 스크린샷.

이 가이드에서는 이메일 및 비밀번호 사용을 테스트합니다. 유효한 이메일 주소와 비밀번호를 입력하고 가입을 선택한 후 코드 제출 화면을 시작합니다.

macOS 앱에서 OTP(일회용 암호)를 입력하라는 사용자 프롬프트 스크린샷.

이전 화면에서 전자 메일 주소를 입력하면 애플리케이션에서 확인 코드를 보냅니다. 받은 코드를 제출하면 애플리케이션에서 이전 화면으로 돌아가 자동으로 로그인합니다.

다음 단계