Spring Boot + Vue.js (JWT 이용한 로그인 구현 Part1)
참고: https://www.bezkoder.com/spring-boot-vue-js-authentication-jwt-spring-security/
BackEnd : JWT 를 위한 Spring Security , Spring Mysql, Mybatis
FrontEnd: Vuex, vee-validate
1. JWT (JSON Web Token) 란?
현재, JWT는 인증과 정보 교환에 매우 자주 사용된다. Session (Session-based Authentication)을 새로 생성하는 것 대신에, Server 가 데이터를 JSON Web Token 으로 encoding 해준 후에 Client 에게 보내준다 (3). 그러면 Client 는 JWT를 저장하고, Client 가 요청하는 모든 Request의 루트, 리소스를 보호하기 위해 JWT가 부착(4)되어있어야한다. (보통은 header에 붙어있다) 그 요청을 받은 Server는 그 JWT를 평가(5)한 후에 Response를 리턴(6)해줄 것이다.

Session을 기반으로 하는 인증 (Cookie 에 session을 저장해야함)과 다르게,
JWT (Token-based Quthentication)의 큰 장점은, Token 을 Client sdie 에 저장한다는거다!!! (브라우저의 Local Storage, IOS 와 Android 의Keychain).
JWT 의 중요한 3가지
Header, Payload, Signature

JWT 가 더 궁금하시다구용? 자세한 내용은 https://minah-workmemory.tistory.com/37 에 올렸으니 참고 하실 분 참고!
JWT 란? (JWT vs Session)
참조 : https://www.bezkoder.com/jwt-json-web-token/ 1. Authentication 이란? 어떠한 웹사이트를 사용할 때, 계정을 생성하고, 어떠한 특정한 기능을 사용하기위해 로그인하여 접근해야한다. 그러한 action 을..
minah-workmemory.tistory.com
2. Spring Boot Vue.js Authentication 예제!
- 사용자는 계정을 하나 생성하고, 이름과 비밀번호로 로그인
- Authorization 사용자의 권한 (admin, moderator, user)
로그인, 회원가입의 Flow chart

Back-end : Spring Boot & Spring Security

gradle 에 dependency 추가
// JWT 라이브러리
implementation 'io.jsonwebtoken:jjwt:0.9.1'
// spring Security 라이브러리
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.security:spring-security-test'
JWT secret String / 유효기간 application.properties 에 설정
Front-end : Vue.js & Vuex
