본문 바로가기

WEB

[WEB] 스프링 프로젝트에 Microsoft OAuth 연동하기_사전 작업

안녕하세요! 오늘은 Microsoft OAuth 연동하는 방법을 알려 드리려고 합니다.

저는 스프링부트, 스프링에 MS 를 연동하였고 코드는 아래의 페이지에 설명해두었습니다.

 

https://e-you.tistory.com/458

 

[Spring] 스프링 MVC에 Microsoft OAuth 연동하기

오늘은 스프링에 Microsoft OAuth 를 연동하는 방법을 설명드리겠습니다. 보통 개인프로젝트에서는 구글, 네이버 등등을 많이 연결하지만,, 회사에서는 MS를 사용하고 있기 때문에 MS 연동을 해보았

e-you.tistory.com

 

 

https://e-you.tistory.com/457

 

[Spring Boot] 스프링 시큐리티에 Microsoft Oauth 연동하기

오늘은 스프링 부트에 `스프링 시큐리티`를 사용하여 `MS Oauth`를 연동해보겠습니다.참고로, 스프링에 MS Oauth 를 적용한 코드는 추후 작성 예정입니다!  ms 공식 문서에 가면 oauth 적용 방법에 대

e-you.tistory.com

 

 

위 방법을 진행하시기 전에, 해당 포스트 방법부터 진행해주시면 되겠습니다.


 

먼저, 코드를 작성하기 전에 `client_id`, `tenent_id`, `secret_key` 이렇게 3개가 필요합니다.

 

`클라이언트 아이디`와 `테넌트 아이디`는 서비스를 등록해둔 Azure 홈페이지에서, 개요에 들어가신 뒤, 기본정보에 애플리케이션(클라이언트) ID, 디렉터리(테넌트) ID 에서 확인하실 수 있습니다.

 

 

 

그리고 `시크릿 키`는 인증서 및 암호에서 새 클라이언트 암호를 만드신 다음 복사해두시면 됩니다.

해당 암호는 생성할 때, 한번만 보여지기 때문에 복사를 잘 해두셔야합니다.

그리고 만료 시간을 최소 3개월 ~ 최대 2년까지 설정할 수 있는데, 해당 기간이 만료되면 새 클라이언트 암호를 지정하여 갱신해줘야합니다.

 


이제 기초 작업은 다 끝났습니다.

아래의 설정은 코드를 작성하면서 설정해주시면 됩니다.

 

MS로 `로그인`을 할 때, 로그인을 완료하면 리다이렉션 URL 을 코드에서 지정해주셔야합니다.

코드에 리다이렉션 URL 을 지정하면 아래의 인증 -> 웹 리디렉션 URI 에서 동일한 URI를 써주셔야합니다.

 

그리고 `Single-SignOut` 을 구현하려면 프런트 채널 로그아웃 URL 에 타 MS 제품군이 로그아웃 되었을 때, 실행될 URL 을 기재해주시고, 이 URL 에 로그아웃 프로세스를 구현해주시면되겠습니다.

 


만약, 개발하다가 토큰에 특정 정보를 받을 일이 있으면 토큰 구성 -> 선택적 클레임에서 정보 추가를 해주시면 되겠습니다.

 

 

 


참고자료

 

MS 그래프 API 테스트 주소 : https://developer.microsoft.com/en-us/graph/graph-explorer

 

Graph Explorer | Try Microsoft Graph APIs - Microsoft Graph

Starting the Microsoft Graph Explorer...

developer.microsoft.com

 

 

MS 공식 문서 : https://learn.microsoft.com/ko-kr/entra/identity-platform/v2-oauth2-auth-code-flow

 

Microsoft ID 플랫폼 및 OAuth 2.0 인증 코드 흐름 - Microsoft identity platform

Microsoft ID 플랫폼의 OAuth 2.0 인증 코드 부여 구현에 대한 프로토콜 참조

learn.microsoft.com