티스토리 뷰

JavaProject/Spring

SSO 로그인 구현하기.

devel0per 2022. 4. 3. 14:16

열심히 프로젝트를 진행하던, 우리 팀에게 크나큰 시련이 다가왔다..

이번 프로젝트의 핵심이라고 할 수 있는, 로그인 파트이다. 

단순히 회원가입을 통한 로그인이 아니라, 우리 학교 사람들만 사용할 수 있게 구현하고 싶어서 생각했던 게, 우리 학교 학생포탈 사이트의 ID와 Password를 이용하여 우리 어플을 사용할 수 있게 하고 싶었다.

그러기 위해서는, 우리 학교 포탈 사이트에서 로그인이 되는 경우와 안되는 경우의 응답값을 활용하여, 우리가 원하는 응답값을 받는 경우에는 우리의 화면을 보여주는 방식을 채택하기로 했다.

처음에 단순하게 생각했던 이 방법이 점점 미궁으로 빠지기 시작했다. 인터넷에 관련 예제들을 찾아 서치했지만, 마땅히 좋은 코드가 보이지 않았고, 각종 책들과 유튜브로 전전긍긍하던 그때, 현재 우리팀의 멘토링을 담당해주시고 있으신, 멘토분께 도움을 요청 했지만 결국 큰 도움이 되지 못했다.. 그러다가 데이터마이닝(파이썬) 강의를 해주시고 계시는 전공 교수님에게 도움을 요청했고, 교수님은 이 문제를 해결 해줄 지인분들 소개시켜주셨고, 지인분을 통해 받은 코드가 우리에게 엄청난 도움이 됐고, 그 코드로 인해 결국 성공할 수 있었다.. 

거의 10분만에? 우리의 요구를 듣고 뚝딱 만들어주신 테스트 코드,, 정말 대단하시다..

이 코드를 통해 Java Application을 통해 제대로된 응닶값이 들어오는 것을 콘솔로 확인할 수 있었다!

높은 벽에 가로막혀 좌절하고 있던 우리 팀에게 다시 엄청난 열정을 주었고, 결국 팀의 리더 건이가 먼저 구현에 성공하면서, 정말 너무나 행복했었다. 건아 고맙다....

 

먼저 로그인을 할 수 있는 간단한 Jsp파일을 제작해야 했기 때문에,

post방식으로 login.do로 value를 설정해준 후 간단한 폼을 제작했다.

간단한 로그인 폼 제작

 

다음은 LoginController을 만들어서 다음 페이지로 넘어갈 수 있는 Mapping 값을 설정했다!

@RequestParam("id") String id, 

@RequestParam("password") String password, 코드를 통해서 id와 password를 받고 아까 도움 받았던 코드를 통해서

우리가 원하는 응답값을 받으면 main 파일로 넘어가게 만들고, 틀린 응답값을 받으면 redirect 되게 설정했다( 임시방편으로 설정해 둔 것 나중에는 오류메세지와 함께 다시 로그인을 시도하라고 유도해야함)

 

 

테스트 해 본 결과 로그인이 가능한 id와 password를 입력하고 로그인할 경우 정확히 main.jsp파일로 넘어가는 것을 확인 할 수 있었다!

 

console에 로그인 성공과 실패가 찍히는 것을 확인 !

 

로그인 서비스 구현중에, 발생한 오류가 있었는데,

로그인 페이지(home.jsp) 에서 로그인 버튼을 눌르면 main.jsp로 가지 못하고, 발생했던 오류

발생한 오류를 고치기 위해서는 

import com.fasterxml.jackson.core.JsonProcessingException;

import com.fasterxml.jackson.databind.ObjectMapper;

import org.apache.http.client.HttpClient;

import org.apache.http.impl.client.HttpClientBuilder;

에 맞는 라이브러리를 pom.xml / dependency의 알맞게 추가해줘야 한다.

(pom.xml)의 모든 dependency의 모든 코드는 하드 코딩된것... 이제는 막 같은 dependency가 추가되어 있고, 버전만 달라 오류가 뜨는 경우도 발생,,, 나도 하드코딩 그만하고 싶다.. 더 열심히 공부해야지..

 

 

이제 남은것은 웹소켓을 활용한 채팅 서비스 구현! 마지막까지 힘을 내봅시다!!

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
링크