재우니의 블로그

Azure Graph Api Integration 활용하여 Asp.Net Core 3.1 Web App  에서 모든 사용자들 정보 가져오기

 

이 비디오에서는 Asp.Net core Web App 을 Azure Graph API 와 통합하는 방법을 보여줍니다. Active Directory에 있는 모든 사용자 정보에 액세스하는 방법을 보여줍니다.

 

앱이 등록된 곳에서 관리자 동의 및 앱 등록을 받는 방법을 보여줍니다. azure의 ClientId, Client Secret 및 Tenant Id에 대한 정보를 얻을 수 있습니다. Azure Graph API에는 탐색할 것이 많지만 애플리케이션 권한으로 Azure Graph API를 사용하는 간단한 방법을 보여줍니다.

 

 

 

 

https://www.youtube.com/watch?v=Z2Lu-PzWYLU 

 

 

step 1. 앱 등록하는 방법

 

 

azure active directory 서비스를 들어간다.

 

어플리케이션을 등록합니다. 

 

등록 완료 후, clientid, talentid 값을 얻을 수 있습니다.

 

step 2. client secret 발급하기

 

Certificates & secrets 의 client secrets 에서 new client secret 버튼을 눌러 생성합니다.

 

생성되 secret 의 value 값을 복사해서 보관해 둡니다. 

 

 

step 3. graph api 를 위한 api permission 할당하기

 

add  a permission 버튼을 클릭합니다.

application permissions 를 선택합니다.

 

permissions 중에 user 검색하여 하단에서 찾습니다.

 

 

User.Read.All 권한을 체크하고 저장합니다.

 

 

 

 

step 4. admin consent 를 제공합니다.

 

api permissions 메뉴에서 grant admin consent for default directory  버튼을 클릭하여 적용시킵니다.

 

 

step 5. nuget package 에서 개발을 위해 microsoft.graph 컴포넌트를 nuget 을 통해 다운로드 받습니다.

appsettings.json 파일에 tenantid 와 clientid, clientsecret 값을 등록합니다.

 

 

json 값을 읽기 위해 IConfiguration 을  DI 합니다.

 

json 값을 변수에 담습니다. ClientSecretCredential() 클래스를 통해 GraphServiceClient 를 호출하여 인증 받은 후 Users.Request() 함수를 통해 정보를 가져옵니다.