이전글
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와 연결하여 호출하는 동작에 대해서 다뤄보았습니다.
이번 포스팅은 이것으로 마치겠습니다.
'Microsoft 365 > Graph & IIS' 카테고리의 다른 글
Microsoft Graph & IIS. (6) Email 탭을 추가하여 Mailfolders 내용 표시하기 (0) | 2024.06.08 |
---|---|
Microsoft Graph & IIS. (5) Mail.send 권한을 이용하여 메일 발송 (0) | 2024.03.09 |
Microsoft Graph & IIS. (4) Mail.read 권한을 이용하여 Mailbox 표시 (0) | 2024.03.01 |
Microsoft Graph & IIS. (2) ASP.NET Sample Page를 IIS에 게시 (0) | 2024.02.12 |
Microsoft Graph & IIS. (1) 기본 테스트 환경 구성 (0) | 2024.02.11 |