웹 API를 호출하는 데스크톱 앱: 앱 등록

이 문서에서는 데스크톱 애플리케이션에 대한 앱 등록 세부 사항을 설명합니다.

지원되는 계정 유형

데스크톱 애플리케이션에서 지원되는 계정 유형은 강화하려는 환경에 따라 다릅니다. 이 관계로 인해 지원되는 계정 유형은 사용하려는 흐름에 따라 다릅니다.

대화형 토큰 획득의 대상

데스크톱 애플리케이션에서 대화형 인증을 사용하는 경우 모든 계정 유형에서 사용자 로그인을 수행할 수 있습니다.

데스크톱 앱 자동 흐름의 대상

  • Windows 통합 인증 또는 사용자 이름 및 암호를 사용하려면 애플리케이션이 사용자의 자체 테넌트에서 사용자 로그인을 수행해야 합니다(예를 들어, 사용자가 LOB(기간 업무) 개발자인 경우). 또는 Microsoft Entra 조직에서는 ISV 시나리오인 경우 애플리케이션이 사용자의 자체 테넌트에서 사용자 로그인을 수행해야 합니다. 이러한 인증 흐름은 Microsoft 개인 계정에 대해 지원되지 않습니다.
  • B2C(Business to Commerce) 기관 및 정책을 통과하는 소셜 ID로 사용자 로그인을 수행하면 대화형 및 사용자 이름-암호 인증만 사용할 수 있습니다.

리디렉션 URI

데스크톱 애플리케이션에서 사용할 리디렉션 URI는 사용하려는 흐름에 따라 다릅니다.

Microsoft Entra 관리 센터의 앱 등록에서 앱에 대한 플랫폼 설정을 구성하여 앱에 대한 리디렉션 URI를 지정합니다.

  • WAM(웹 인증 관리자)을 사용하는 앱의 경우 리디렉션 URI는 MSAL에서 구성할 필요가 없지만 앱 등록에서 구성해야 합니다.

  • 대화형 인증을 사용하는 앱의 경우:

    • 포함된 브라우저를 사용하는 앱: https://login.microsoftonline.com/common/oauth2/nativeclient(참고: 앱이 일반적으로 주소 표시줄을 포함하지 않는 창을 팝업하는 경우 "포함된 브라우저"를 사용합니다.)
    • 시스템 브라우저를 사용하는 앱: http://localhost(참고: 앱이 Microsoft 로그인 포털을 방문하도록 시스템의 기본 브라우저(예: Edge, Chrome, Firefox 등)를 가져오는 경우 "시스템 브라우저"를 사용합니다.)

    Important

    보안 모범 사례에 따라 https://login.microsoftonline.com/common/oauth2/nativeclient 또는 http://localhost을(를) 리디렉션 URI로 명시적으로 설정하는 것이 좋습니다. MSAL.NET와 같은 일부 인증 라이브러리는 다른 리디렉션 URI가 지정되지 않은 경우 기본값 urn:ietf:wg:oauth:2.0:oob을(를) 사용하고, 이는 권장되지 않습니다. 이 기본값은 다음 주요 릴리스의 호환성이 손상되는 변경으로 업데이트됩니다.

  • macOS용 네이티브 Objective-C 또는 Swift 앱을 빌드하는 경우 애플리케이션의 번들 식별자를 기준으로 하는 리디렉션 URI를 msauth.<your.app.bundle.id>://auth 형식으로 등록합니다. <your.app.bundle.id>을(를) 애플리케이션의 번들 식별자로 바꿉니다.

  • Node.js Electron 앱을 빌드하는 경우 권한 부여 흐름의 리디렉션 단계를 처리하기 위해 일반 웹(https://) 리디렉션 URI 대신 사용자 지정 문자열 프로토콜을 사용합니다msal{Your_Application/Client_Id}://auth(예: msalfa29b4c9-7675-4b61-8a0a-bf7b2b4fda91://auth). 사용자 지정 문자열 프로토콜 이름은 명확하게 추측되어서는 안 되며 네이티브 앱에 대한 OAuth2.0 사양의 제안 사항을 따라야 합니다.

  • 앱에서 Windows 통합 인증 또는 사용자 이름 및 암호만 사용하는 경우 애플리케이션에 대한 리디렉션 URI를 등록할 필요가 없습니다. 이러한 흐름은 Microsoft Identity 플랫폼 v2.0 엔드포인트를 대상으로 왕복을 수행합니다. 애플리케이션은 특정 URI에서 다시 호출되지 않습니다.

  • 디바이스 코드 흐름, Windows 통합 인증, 사용자 이름 및 암호디먼 애플리케이션에서 사용되는 클라이언트 자격 증명 흐름을 사용하는 기밀 클라이언트 애플리케이션을 구분하려면(모두 리디렉션 URI가 필요하지 않음) 퍼블릭 클라이언트 애플리케이션으로 구성합니다. 이 구성을 설정하려면

    1. Microsoft Entra 관리 센터앱 등록에서 앱을 선택한 다음 인증을 선택합니다.

    2. 고급 설정>공용 클라이언트 흐름 허용>다음 모바일 및 데스크톱 흐름 사용에서 를 선택합니다.

      Enable public client setting on Authentication pane in Azure portal

API 권한

데스크톱 애플리케이션은 로그인한 사용자에 대한 API를 호출하고, 위임된 권한을 요청해야 합니다. 데스크톱 애플리케이션은 디먼 애플리케이션에서만 처리되는 애플리케이션 권한을 요청할 수 없습니다.

다음 단계

이 시나리오의 다음 문서인 앱 코드 구성으로 이동합니다.