인증서버 만들기

심지원·2020년 1월 15일

주제

Spring boot로 단순한 기능을 가진 인증 서버를 만든다. Spring Security를 이해하기 이전에 단순한 로그인 서버를 만들자는 목표에서 시작한다. 화면 구성은 따로 없이 Postman을 이용하여 결과를 확인한다.

목표

  • 로그인, 로그아웃, 회원가입 세 가지 기능을 수행한다.
  • 사용자와 관리자가 존재한다.
  • 접근 경로만 다를 뿐, 모두 id, password, email, phone 라는 요소를 이용하여 로그인한다.
  • MySQL을 이용해 정보를 저장한다.
  • 로그인 시 발급되는 Token을 이용해 유효성을 확인한다.
  • Token은 Redis에 저장한다.
  • Spring에 내재된 Test를 이용한다.

설계 원칙

  • <객체지향의 사실과 오해>를 기반으로 진행한다.
  • 객체의 속성과 행위가 클래스보다 우선되어야 한다.
  • 메시지가 데이터보다 우선되어야 한다.

주요 객체

  • 사용자
  • 관리자
  • 로그인
  • 로그아웃
  • 회원가입

속성 및 행위

  • 사용자
    * id, password, email, phone를 갖고 있다.
  • 관리자
    * id, password, email, phone을 갖고 있다.
  • 로그인
    * 입력 id가 유효한지 확인한다.
    • 유효한 id의 password와 입력 password가 동일한지 확인한다.
    • 로그인한 사용자가 유효하다는 것을 알려주는 Token을 발급한다.
  • 로그아웃
    * 로그인한 사용자의 Token의 유효성을 없앤다.
  • 회원가입
    * 입력 id가 중복되지 않는 id인지 확인한다.
    • 입력된 정보를 DB에 저장한다.
profile
안녕하세요.

0개의 댓글