자습서: React SPA에서 사용자를 인증하기 위해 외부 테넌트 준비
이 자습서 시리즈에서는 React SPA(단일 페이지 애플리케이션)를 빌드하고 Microsoft Entra 관리 센터를 사용하여 인증을 준비하는 방법을 보여 줍니다. JavaScript용 Microsoft 인증 라이브러리 라이브러리를 사용하여 외부 테넌트로 앱을 인증합니다. 마지막으로 애플리케이션을 실행하고 로그인 및 로그아웃 환경을 테스트합니다.
이 자습서에서는 다음을 수행합니다.
- Microsoft Entra 관리 센터에서 SPA를 등록하고 식별자 기록
- 플랫폼 및 URL 정의
- SPA에 Microsoft Graph API에 액세스할 수 있는 권한 부여
- Microsoft Entra 관리 센터에서 로그인 및 로그아웃 사용자 흐름 만들기
- SPA를 사용자 흐름과 연결
필수 조건
- 외부 테넌트. 생성을 위해 다음 방법 중 하나를 선택할 수 있습니다.
- (권장) Microsoft Entra 외부 ID 확장을 사용하여 Visual Studio Code에서 직접 외부 테넌트를 설정합니다.
- Microsoft Entra 관리 센터에서 외부 테넌트를 만듭니다.
- 이 Azure 계정에는 애플리케이션을 관리할 수 있는 권한이 있어야 합니다. 다음 Microsoft Entra 역할에는 필수 권한이 포함되어 있습니다.
- 애플리케이션 관리자
- 애플리케이션 개발자
- 클라우드 애플리케이션 관리자
SPA 및 레코드 식별자 등록
애플리케이션이 Microsoft Entra를 사용하여 사용자를 로그인할 수 있도록 하려면 사용자가 만든 애플리케이션을 인식하는 Microsoft Entra 외부 ID가 있어야 합니다. 앱 등록은 앱과 Microsoft Entra 간의 신뢰 관계를 설정합니다. 애플리케이션을 등록하면 외부 ID는 인증 요청을 만들 때 앱을 식별하는 데 사용되는 값인 애플리케이션(클라이언트) ID라는 고유 식별자를 만듭니다.
다음 단계에서는 Microsoft Entra 관리 센터에 앱을 등록하는 방법을 보여 줍니다.
최소한 애플리케이션 개발자 자격으로 Microsoft Entra 관리 센터에 로그인합니다.
여러 테넌트에 액세스할 수 있는 경우 상단 메뉴의 설정 아이콘을 사용하여 디렉터리 + 구독 메뉴에서 외부 테넌트로 전환합니다.
ID>애플리케이션>앱 등록으로 이동합니다.
+ 새 등록을 선택합니다.
애플리케이션 등록 페이지가 표시됩니다.
- 앱 사용자에게 표시될 의미 있는 애플리케이션 이름을 입력합니다(예: ciam-client-app).
- 지원되는 계정 유형에서 이 조직 디렉터리의 계정만을 선택합니다.
등록을 선택합니다.
성공적으로 등록되면 애플리케이션의 개요 창이 표시됩니다. 애플리케이션 소스 코드에 사용할 애플리케이션(클라이언트) ID를 기록해 둡니다.
플랫폼 리디렉션 URL 추가
앱 등록에 앱 형식을 지정하려면 다음 단계를 수행합니다.
- 관리에서 인증을 선택합니다.
- 플랫폼 구성 페이지에서 플랫폼 추가를 선택한 다음, 단일 페이지 애플리케이션 옵션을 선택합니다.
-
리디렉션 URL에
http://localhost:3000
을 입력합니다. - 변경 내용을 저장하려면 구성을 선택합니다.
관리자 동의 부여
애플리케이션을 등록하면 User.Read 권한이 할당됩니다. 그러나 테넌트는 외부 테넌트이므로 고객 사용자 자체는 이 권한에 동의할 수 없습니다. 관리자는 테넌트의 모든 사용자를 대신하여 다음 권한에 동의해야 합니다.
앱 등록 페이지에서 만든 애플리케이션(예: ciam-client-app)을 선택하여 개요 페이지를 엽니다.
관리 아래에서 API 권한을 선택합니다.
- <테넌트 이름>에 대한 관리자 동의 부여를 선택한 다음 예를 선택합니다.
새로 고침 을 선택한 다음, 권한에 대한상태 아래에테넌트 이름 에 대해 부여됨이 표시되는지 확인합니다.
로그인 및 가입 사용자 흐름 만들기
다음 단계에 따라 고객이 애플리케이션에 로그인하거나 등록하는 데 사용할 수 있는 사용자 흐름을 만듭니다.
최소한 외부 ID 사용자 흐름 관리자로 Microsoft Entra 관리 센터에 로그인합니다.
여러 테넌트에 액세스할 수 있는 경우 상단 메뉴의 설정 아이콘을 사용하여 디렉터리 + 구독 메뉴에서 외부 테넌트로 전환합니다.
ID>External Identities>사용자 흐름으로 이동합니다.
+새 사용자 흐름을 선택합니다.
만들기 페이지에서:
SignInSignUpSample과 같은 사용자 흐름에 사용할 이름을 입력합니다.
ID 공급자 목록에서 이메일 계정을 선택합니다. 이 ID 공급자를 사용하면 사용자가 이메일 주소를 사용하여 로그인하거나 등록할 수 있습니다.
참고 항목
추가 ID 공급자는 페더레이션을 설정한 후에만 여기에 나열됩니다. 페더레이션을 Google, Facebook, Apple 또는 OIDC ID 공급자와 설정하는 경우, 여기에서 추가 ID 공급자를 선택할 수 있습니다.
이메일 계정에서 두 가지 옵션 중 하나를 선택할 수 있습니다. 이 자습서에서는 암호가 있는 이메일을 선택합니다.
- 암호가 있는 이메일: 새 사용자가 이메일 주소를 로그인 이름으로 사용하고 암호를 첫 번째 자격 증명으로 사용하여 등록하고 로그인할 수 있습니다.
- 이메일 일회용 암호: 새 사용자는 이메일 주소를 로그인 이름으로 사용하고 이메일 일회용 암호를 첫 번째 자격 증명으로 사용하여 등록하고 로그인할 수 있습니다. 이 옵션을 사용자 흐름 수준에서 사용할 수 있도록 하려면 테넌트 수준(모든 ID 공급자>이메일 일회용 암호)에서 이메일 일회용 암호를 사용하도록 설정해야 합니다.
사용자 특성에서 등록 시 사용자로부터 수집할 특성을 선택합니다. 자세히 보기를 선택하여 국가/지역, 표시 이름 및 우편 번호의 특성 및 클레임을 선택할 수 있습니다. 확인을 선택합니다. (사용자가 처음으로 등록할 때만 특성을 묻는 메시지가 표시됩니다.)
만들기를 실행합니다. 사용자 흐름 목록에 새 사용자 흐름이 표시됩니다. 필요한 경우 페이지를 새로 고칩니다.
셀프 서비스 암호 재설정을 사용하도록 설정하려면 셀프 서비스 암호 재설정 사용 문서의 단계를 사용합니다.
애플리케이션을 사용자 흐름과 연결
고객 사용자가 앱을 사용할 때 가입 또는 로그인 환경을 볼 수 있도록 하려면 앱을 사용자 흐름과 연결해야 합니다. 많은 애플리케이션을 사용자 흐름과 연결할 수 있지만 단일 애플리케이션은 하나의 사용자 흐름에만 연결할 수 있습니다.
사이드바 메뉴에서 ID를 선택합니다.
External Identities를 선택한 다음 사용자 흐름을 선택합니다.
사용자 흐름 페이지에서 이전에 만든 사용자 흐름 이름(예: SignInSignUpSample)을 선택합니다.
사용에서 애플리케이션을 선택합니다.
애플리케이션 추가를 선택합니다.
ciam-client-app과 같은 목록에서 애플리케이션을 선택하거나 검색 상자를 사용하여 애플리케이션을 찾은 다음 선택합니다.
선택을 선택합니다.
앱을 사용자 흐름과 연결하면 Microsoft Entra 관리 센터 내에서 애플리케이션에 대한 사용자 가입 또는 로그인 환경을 시뮬레이션하여 사용자 흐름을 테스트할 수 있습니다. 이렇게 하려면 가입 및 로그인 사용자 흐름 테스트에 나와 있는 단계를 따르세요.