자습서: ASP.NET Core 웹앱에서 사용자를 인증하기 위해 외부 테넌트 준비
이 자습서 시리즈에서는 ASP.NET Core 웹 애플리케이션을 빌드하고 Microsoft Entra 관리 센터를 사용하여 인증을 준비하는 방법을 보여 줍니다. .NET용 Microsoft 인증 라이브러리 및 Microsoft ID 웹 라이브러리를 사용하여 외부 테넌트로 앱을 인증합니다. 마지막으로 애플리케이션을 실행하고 로그인 및 로그아웃 환경을 테스트합니다.
이 자습서에서는 다음을 수행합니다.
- Microsoft Entra 관리 센터에서 웹 애플리케이션을 등록하고 식별자 기록
- 웹 애플리케이션에 대한 클라이언트 암호 만들기
- 플랫폼 및 URL 정의
- 웹 애플리케이션에 Microsoft Graph API에 액세스할 수 있는 권한 부여
- Microsoft Entra 관리 센터에서 로그인 및 로그아웃 사용자 흐름 만들기
- 웹 애플리케이션을 사용자 흐름과 연결
필수 조건
- 외부 테넌트입니다. 아직 없는 경우 시작하기 전에 평가판 테넌트 또는 구독이 있는 테넌트를 만듭니다.
- 이 Azure 계정에는 애플리케이션을 관리할 수 있는 권한이 있어야 합니다. 다음 Microsoft Entra 역할에는 필수 권한이 포함되어 있습니다.
- 애플리케이션 관리자
- 애플리케이션 개발자
- 클라우드 애플리케이션 관리자
웹앱 및 레코드 식별자 등록
애플리케이션이 Microsoft Entra를 사용하여 사용자를 로그인할 수 있도록 하려면 Microsoft Entra 외부 ID가 사용자가 생성한 애플리케이션을 인식해야 합니다. 앱 등록은 앱과 Microsoft Entra 간의 신뢰 관계를 설정합니다. 애플리케이션을 등록하면 외부 ID는 인증 요청을 만들 때 앱을 식별하는 데 사용되는 값인 애플리케이션(클라이언트) ID라는 고유 식별자를 만듭니다.
다음 단계에서는 Microsoft Entra 관리 센터에 앱을 등록하는 방법을 보여 줍니다.
최소한 애플리케이션 개발자 자격으로 Microsoft Entra 관리 센터에 로그인합니다.
여러 테넌트에 액세스할 수 있는 경우 상단 메뉴의 설정 아이콘
을 사용하여 디렉터리 + 구독 메뉴에서 외부 테넌트로 전환합니다.
ID>애플리케이션>앱 등록으로 이동합니다.
+ 새 등록을 선택합니다.
애플리케이션 등록 페이지가 표시됩니다.
- 앱 사용자에게 표시될 의미 있는 애플리케이션 이름을 입력합니다(예: ciam-client-app).
- 지원되는 계정 유형에서 이 조직 디렉터리의 계정만을 선택합니다.
등록을 선택합니다.
성공적으로 등록되면 애플리케이션의 개요 창이 표시됩니다. 애플리케이션 소스 코드에 사용할 애플리케이션(클라이언트) ID를 기록해 둡니다.
플랫폼 리디렉션 URL 추가
앱 등록에 앱 형식을 지정하려면 다음 단계를 수행합니다.
- 관리에서 인증을 선택합니다.
- 플랫폼 구성 페이지에서 플랫폼 추가를 선택한 다음 웹 옵션을 선택합니다.
- 리디렉션 URL에
https://localhost:7274/signin-oidc
를 입력합니다. - 프런트 채널 로그아웃 URL에서 로그아웃을 위해
https://localhost:7274/signout-callback-oidc
를 입력합니다. - 변경 내용을 저장하려면 구성을 선택합니다.
앱 클라이언트 암호 추가
등록된 애플리케이션에 대한 클라이언트 암호를 만듭니다. 애플리케이션은 토큰을 요청할 때 클라이언트 암호를 사용하여 ID를 증명합니다.
- 앱 등록 페이지에서 만든 애플리케이션(예: ciam-client-app)을 선택하여 개요 페이지를 엽니다.
- 관리에서 인증서 및 비밀을 선택합니다.
- 새 클라이언트 비밀을 선택합니다.
- 설명 상자에 클라이언트 암호에 대한 설명을 입력합니다(예: ciam 앱 클라이언트 암호).
- 만료에서 조직의 보안 규칙에 따라 비밀이 유효한 기간을 선택한 다음 추가를 선택합니다.
- 비밀의 값을 기록합니다. 이후 단계에서 구성에 이 값을 사용합니다. 인증서 및 비밀 페이지에서 다른 페이지로 이동한 후에는 비밀 값이 다시 표시되지 않으며 어떠한 방법으로도 검색할 수 없습니다. 따라서 반드시 기록해 둡니다.
관리자 동의 부여
앱 등록 페이지에서 만든 애플리케이션(예: ciam-client-app)을 선택하여 개요 페이지를 엽니다.
관리 아래에서 API 권한을 선택합니다. 구성된 권한 목록에서 애플리케이션에 User.Read 권한이 할당되었습니다. 그러나 테넌트는 외부 테넌트이므로 소비자 사용자 자신은 이러한 권한에 동의할 수 없습니다. 관리자가 테넌트의 모든 사용자를 대신하여 다음 권한에 동의해야 합니다.
- <테넌트 이름>에 대한 관리자 동의 부여를 선택한 다음 예를 선택합니다.
- 새로 고침을 선택한 다음 두 범위에 대해 <테넌트 이름>에 부여됨이 상태 아래에 표시되는지 확인합니다.
사용자 흐름 만들기
다음 단계에 따라 고객이 애플리케이션에 로그인하거나 등록하는 데 사용할 수 있는 사용자 흐름을 만듭니다.
최소한 외부 ID 사용자 흐름 관리자로 Microsoft Entra 관리 센터에 로그인합니다.
여러 테넌트에 액세스할 수 있는 경우 상단 메뉴의 설정 아이콘
을 사용하여 디렉터리 + 구독 메뉴에서 외부 테넌트로 전환합니다.
ID>External Identities>사용자 흐름으로 이동합니다.
+새 사용자 흐름을 선택합니다.
만들기 페이지에서:
SignInSignUpSample과 같은 사용자 흐름에 사용할 이름을 입력합니다.
ID 공급자 목록에서 이메일 계정을 선택합니다. 이 ID 공급자를 사용하면 사용자가 이메일 주소를 사용하여 로그인하거나 등록할 수 있습니다.
이메일 계정에서 두 가지 옵션 중 하나를 선택할 수 있습니다. 이 자습서에서는 암호가 있는 이메일을 선택합니다.
- 암호가 있는 이메일: 새 사용자가 이메일 주소를 로그인 이름으로 사용하고 암호를 첫 번째 자격 증명으로 사용하여 등록하고 로그인할 수 있습니다.
- 이메일 일회용 암호: 새 사용자는 이메일 주소를 로그인 이름으로 사용하고 이메일 일회용 암호를 첫 번째 자격 증명으로 사용하여 등록하고 로그인할 수 있습니다. 이 옵션을 사용자 흐름 수준에서 사용할 수 있도록 하려면 테넌트 수준(모든 ID 공급자>이메일 일회용 암호)에서 이메일 일회용 암호를 사용하도록 설정해야 합니다.
사용자 특성에서 등록 시 사용자로부터 수집할 특성을 선택합니다. 자세히 보기를 선택하여 국가/지역, 표시 이름 및 우편 번호의 특성 및 클레임을 선택할 수 있습니다. 확인을 선택합니다. (사용자가 처음으로 등록할 때만 특성을 묻는 메시지가 표시됩니다.)
만들기를 실행합니다. 사용자 흐름 목록에 새 사용자 흐름이 표시됩니다. 필요한 경우 페이지를 새로 고칩니다.
셀프 서비스 암호 재설정을 사용하도록 설정하려면 셀프 서비스 암호 재설정 사용 문서의 단계를 사용합니다.
웹 애플리케이션을 사용자 흐름과 연결
많은 애플리케이션을 사용자 흐름과 연결할 수 있지만 단일 애플리케이션은 하나의 사용자 흐름에만 연결할 수 있습니다. 사용자 흐름을 사용하면 특정 애플리케이션에 대한 사용자 환경을 구성할 수 있습니다. 예를 들어, 사용자가 이메일 주소로 로그인하거나 등록해야 하는 사용자 흐름을 구성할 수 있습니다.
사이드바 메뉴에서 ID를 선택합니다.
External Identities를 선택한 다음 사용자 흐름을 선택합니다.
사용자 흐름 페이지에서 이전에 만든 사용자 흐름 이름(예: SignInSignUpSample)을 선택합니다.
사용에서 애플리케이션을 선택합니다.
애플리케이션 추가를 선택합니다.
ciam-client-app과 같은 목록에서 애플리케이션을 선택하거나 검색 상자를 사용하여 애플리케이션을 찾은 다음 선택합니다.
선택을 선택합니다.
다음 단계
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기