본문 바로가기

spring_boot14

Spring Security와 동작 대해서 알아보자~ 들어가며 지금까지 프로젝트를 몇개 하면서 Spring Security를 많지는 않더라도 사용해본 경험이 있고 Token을 이용한 로그인 회원가입 구현이 대충 가능하여도 부족함을 느겼고 github을 찾아보고 공부를 하는데, 사람마다 정리, 처리, 역할, 스타일등 통일이 안되어 있고 입맛대로 쓰는 경우가 허다해서. 이 글을 통해 spring security 대해 헷갈리지 않게 정확한 정의와 사용법의 확립이 필요했기에 이번 글을 작성하게 되었다. Spring Security란? 사용자 정의가 가능한 인증 및 액세스 제어 프레임워크입니다. 이는 Spring 기반 애플리케이션의 보안의 표준 특징 인증 및 권한 부여에 대한 포괄적이고 확장이 가능함 세션 고정, 클릭재킹, 크로스 사이트 요청 위조와 같은 공격 보호.. 2024. 4. 9.
Access Token과 Refresh Token이 필요한 이유 →들어가기 이전에도 프로젝트를 하면서 Spring Security와 JWT를 이용한 사용자 인증 시스템을 개발해 왔지만 Refresh Token을 활용하여 본적이 없기에 실제 프로젝트에 적용하기 이전에 명확한 정리가 필요한 것 같아 이번 기회를 통해 정리하고 Refresh Token을 왜 사용하여야하는지 Access Token의 문제점이 무엇인이지 다룰 예정입니다. Access Token이란? 사용자에 대한 정보를 담고 있으며 보안 API에 접근(Access)권한을 부여 할 수 있는 토큰이다. Refresh Token이란? 사용자 인증이 아닌 새로운 Access Token을 발급 하는 용도로 사용하는 토큰이다. 사용하는 이유는? JWT 토큰은 사용자 정보와 권한을 담고 있는 중요한 데이터인데. 이것이 탈.. 2024. 4. 8.
JWT란? JWT(Json Web Token) Json 포멧을 이용하여 사용자 정보를 담아 비밀리에 정보 전달 및 인증할 때 주로 사용하는 Claim기반의 Web Token이다. Json 형식으로 주고 받기 위해 표준 규약에 의해 암호와 되어 복잡한? String 형태로 이루어져 있다. JWT 구성요소 JWT는 Header(헤더), Payload(페이로드), Signature(서명) 으로 이루어져 있으며, Json 형태로 각 부분이 Base64로 encoding되어 표현된다. 1. Header(헤더) 토큰의 헤더는 alg, typ로 이루어 진다. alg: 알고리즘 형식을 지정하며, 서명 및 토큰의 증에 사용 ex)HS256 typ: 토큰의 타입을 지정 ex)JWT 2. Payload(페이로드) 토큰에서 사용할 정보.. 2024. 4. 7.
Kotlin 기초 문법 kotlin기본 문법에 대해서 정리한 강좌이다. fun (함수 선언) fun main() { printf("hello") } var, val (변수 선언) fun main() { var a = 1; a = 2; println(a) //2 } val은 읽기만 가능한 변수 fun main() { var a: Int //선언시 값이 들어가지 않으면 타입 선언 a = 1 println(a) //1 } [변수명]::class (타입 확인 ) fun main() { var a = 1; println(a::class) //int } ?, ?., ?:, !! ? : null 허용 fun main() { val i: Int? = null } ?. : null이 아니라면 실행 fun main() { val i: Int? .. 2024. 4. 7.