웹앱프로젝트/Vue.js

Spring Boot + Vue.js (JWT 이용한 로그인 구현 Part1)

Minah Park 2022. 9. 4. 22:09
반응형

참고: 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)해줄 것이다. 

https://www.bezkoder.com/spring-boot-vue-js-authentication-jwt-spring-security/

Session을 기반으로 하는 인증 (Cookie 에 session을 저장해야함)과 다르게,

JWT (Token-based Quthentication)의 큰 장점은, Token 을 Client sdie 에 저장한다는거다!!! (브라우저의 Local Storage, IOS 와 Android 의Keychain).

 

JWT 의 중요한 3가지

Header,    Payload,   Signature

https://velog.io/@jkijki12/Spirng-Security-Jwt-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0

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                              

https://www.bezkoder.com/spring-boot-vue-js-authentication-jwt-spring-security/

 

 

                                  Back-end :  Spring Boot & Spring Security                              

https://www.bezkoder.com/spring-boot-vue-js-authentication-jwt-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                              

https://www.bezkoder.com/spring-boot-vue-js-authentication-jwt-spring-security/

 

반응형