Node.js 웹 애플리케이션에서 API를 호출하기 위한 외부 테넌트 준비
적용 대상: 인력 테넌트 외부 테넌트(자세히 알아보기)
이 문서에서는 권한 부여를 위해 외부 테넌트 준비를 합니다. 이 문서는 4부로 구성된 가이드의 첫 번째 부분입니다.
전제 조건
자습서: 외부 테넌트가 Node.js 웹 앱에서 사용자를 로그인할 수 있도록 준비하기를 완료하세요. 이 자습서를 완료한 후 고객의 테넌트에 앱을 등록하고 사용자를 로그인하는 웹앱을 만듭니다. 이 웹 애플리케이션을 클라이언트 애플리케이션이라고 합니다. 이 애플리케이션을 확장하여 보호된 웹 API를 호출합니다.
자습서: 외부 테넌트에 등록된 ASP.NET 웹 API 보안 유지를 완료하세요. 이 자습서를 완료한 후 API 권한을 노출하고 애플리케이션 역할을 게시하는 웹 API를 고객의 테넌트에 등록합니다. 또한 보안 웹 API가 있습니다. 클라이언트 웹 애플리케이션에서 이 웹 API를 호출합니다.
idtyp 토큰 클레임 구성 [선택 사항]
웹 API에서 토큰이 앱 토큰인지 앱+사용자 토큰인지 확인하는 데 도움이 되도록 idtyp 선택적 클레임을 포함할 수 있습니다. scp와 roles 클레임의 조합을 동일한 용도로 사용할 수 있지만 idtyp 클레임을 사용하는 것이 앱 토큰과 앱+사용자 토큰을 구분하는 가장 쉬운 방법입니다. 예를 들어 토큰이 앱 전용 토큰인 경우 이 클레임의 값은 앱입니다.
선택적 클레임 구성 문서의 단계를 사용하여 액세스 토큰에 idtyp 클레임을 추가합니다.
- 토큰 형식으로 액세스를 선택합니다.
- 선택적 클레임 목록에서 idtyp를 선택합니다.
웹앱에 API 권한 부여
필수 구성 요소에서 고객의 테넌트에 클라이언트 앱을 등록했습니다. 또한 고객에 웹 API 앱을 등록했습니다. 이제 클라이언트 앱에 API 권한을 부여해야 합니다.
앱 등록 페이지에서 만든 애플리케이션(예: ciam-client-app)을 선택하여 개요 페이지를 엽니다.
관리 아래에서 API 권한을 선택합니다.
구성된 사용 권한 아래에서 권한 추가를 선택합니다.
내 조직에서 사용하는 API 탭을 선택합니다.
API 목록에서 ciam-ToDoList-api와 같은 API를 선택합니다.
위임된 권한 옵션을 선택합니다.
권한 목록에서 ToDoList.Read, ToDoList.ReadWrite을 선택합니다(필요한 경우 검색 상자 사용).
사용 권한 추가 단추를 선택합니다.
이제 권한이 올바르게 할당되었습니다. 그러나 테넌트는 고객의 테넌트이므로 소비자 사용자 자신은 이러한 권한에 동의할 수 없습니다. 이를 해결하려면 관리자로서 테넌트의 모든 사용자를 대신하여 다음 권한에 동의해야 합니다.
<테넌트 이름>에 대한 관리자 동의 부여를 선택한 다음 예를 선택합니다.
새로 고침을 선택한 다음 두 권한에 대해 <테넌트 이름>에 부여됨이 상태 아래에 표시되는지 확인합니다.
구성된 권한 목록에서 ToDoList.Read 및 ToDoList.ReadWrite 권한을 한 번에 하나씩 선택한 다음 나중에 사용할 수 있도록 권한의 전체 URI를 복사합니다. 전체 권한 URI는
api://{clientId}/{ToDoList.Read}
또는api://{clientId}/{ToDoList.ReadWrite}
와 유사합니다.
다음 단계
다음으로 웹 애플리케이션 및 API를 준비하는 방법을 알아봅니다.