반응형

이전글

2024.02.11 - [Microsoft 365/Graph & IIS] - Microsoft Graph & IIS. (1) 기본 테스트 환경 구성

2024.02.12 - [Microsoft 365/Graph & IIS] - Microsoft Graph & IIS. (2) ASP.NET Sample Page를 IIS에 게시

 

이번 글에서는 IIS 기반 웹사이트에서 M365 (Entra ID)를 사용하여 SSO(Single Sign-On)을 구성하는 방법을 다뤄보겠습니다.

 

https://youtu.be/X33YhuqG9Zc(한국어 버전)

 

https://youtu.be/hb7ZDVwJWEE(English Version)

 

 

Visual Studio 실행 -> Create a new project

 

ASP.NET Core Web App (Model-View-Controller)

 

Project name 지정 -> Next

 

Authentication type -> Microsoft identity platform -> Create

 

Next

 

Sign in -> Microsoft

 

관리자 계정 로그인

 

Create new

 

브라우저 창이 팝업 됩니다. 관리자 계정 로그인

 

인증 완료

 

Display name 을 지정 -> Register

 

생성 확인 -> Next

 

Add Microsoft Graph permissions -> Next

 

Client secret value를 메모장에 저장합니다. -> Next

 

Finish

 

Close

 

Close

 

서비스 등록됨, Secrets.json(Local) 생성 확인

 

Appsettings.json 파일을 더블 클릭

 

생성된 앱 정보가 확인됩니다.

 

Entra ID에서 동일하게 확인됩니다.

 

Start Debugging

 

Local host -> 로그인 페이지로 바로 리디렉션 됩니다. -> 관리자 계정 로그인

 

처음 접속시 아래와 같이 권한을 확인합니다. -> Accept

 

로그인한 계정을 호츨하여 표시합니다.

 

Sign out 하면 다음과 같이 표시됩니다.

 

다른 계정을 로그인 하면 해당 계정의 정보를 표시합니다.

 

Build -> Publish Identity

 

Web Server (IIS) -> Next

 

Web Deploy Package -> Next

 

패키지 내보낼 위치 지정 -> Site Name 지정 -> Finish

 

Close

 

Publish

 

완료되면 패키지 파일을 IIS Server 로 복사합니다.

 

지난번의 글에서 진행한 것처럼, 압축해제후 아래와 같이 wwwroot 등 필수 폴더 및 파일을 최상위 폴더로 복사합니다.

 

IIS Manager 실행

 

Sites 우클릭 -> Add Website

 

아래와 같이 지정

 

Localhost 테스트시 아래와 같이 Error 500 발생합니다. 원인은 ClientSecret 값은 Publish할 때 포함되어 있지 않기 때문에 발생합니다.

 

Appsettings.json 파일을 Notepad로 Open 합니다.

 

이전에 저장한 Secret Value 를 아래와 같은 형태로 추가 -> 저장

(다만 실제 환경에서는 보안상의 이유로 아래의 방법은 권장하지 않습니다.)

 

IISRESET 을 진행

 

로그인 확인

 

게시한 URL로 테스트 진행

 

Redirect URI 오류가 발생합니다.

 

Entra ID Admin center -> Applications -> App registration -> Authentication -> Redirect URIs에 아래와 같이 추가합니다.

 

로그인 확인

 

 

Microsoft Identity Platform을 이용하여 로그인 후 Graph와 연결하여 호출하는 동작에 대해서 다뤄보았습니다.

이번 포스팅은 이것으로 마치겠습니다.

반응형

+ Recent posts