Web

    JWT을 활용한 로그인/ Interceptor를 활용한 인가 처리 구현

    +) Disclaimer : 필자는 현재 Spring boot를 활용한 Rest API를 개발 중. 1. JWT 인증 구현 1) JwtService 클래스 구현 JWT token을 생성하고, claim에 담긴 정보를 추출하는 메소드 개발. package com.example.demo.utils; //라이브러리 생략 @Service public class JwtService { /* JWT 생성 @param userNum @return String */ public String createJwt(int userNum){ Date now = new Date(); return Jwts.builder() .setHeaderParam("type","jwt") .claim("userNum",userNum) .set..

    🔒사용자 인증 방식 - Cookie/Session, JWT, OAuth

    1) 쿠키/세션 쿠키는 사용자가 삭제하지 않는 이상 계속 남아있으며, 방문자의 정보를 방문자 컴퓨터의 메모리(클라이언트) 에 저장하는 것을 의미한다. 세션은 방문자의 요청에 따른 정보를 클라이언트가 아닌 웹 서버가 세션 아이디 파일을 만들어 서비스가 돌아가고 있는 서버에 저장하는 것을 의미한다. 세션 기반 인증 방식은 클라이언트의 상태를 서버에서 계속 유지하는 stateful 서버이다. 인증을 요구하는 서비스 로그인 / 회원가입 서버로 로그인 시도를 할때 id/pw를 보낸다. db가 id/pw가 맞는지 검증하게 될 것임. 세션 아이디 라는 것을 발급한다. 이 아이디를 가지고 통신할 예정. 세션 아이디를 db에 저장하고, 이를 전송하면 클라이언트의 저장소인 쿠키에 세션 id를 저장해둔다. 추후에 이 세션 ..

    🍃 Spring Boot로 개발한 Restful API 작동 프로세스

    MVC 패턴이란? Controller는 클라이언트로부터 요청을 받음. (처리 과정을 담당) Model은 최종 페이지에 쓰일 데이터를 뷰에 전달한다. (데이터를 담당) View는 최종 페이지를 만들어준다. 이렇게 각자의 역할을 나누는 기법을 MVC 패턴이라고 한다. 스프링 부트의 로직 Controller : 웹 브라우저의 요청 전담하여 처리, Service 호출 → Provider/ Service: 비즈니스 로직(아이디 중복검사,비밀번호 재검사, validation...)을 수행하며, 데이터베이스에 접근하는 DAO를 이용해 결과값을 받아옴. Provider : Read와 관련된 곳으로, DB에서 select해서 얻어온 값을 가공해서 결과로 추출한다. Service : Create, Update, Delet..