Spring Boot6 [Spring boot / Kotlin] Spring security + JWT 로그인 구현하기 오늘은 Spring security + JWT를 이용하여 로그인을 구현해보도록 하겠습니다. 언어는 kotlin을 사용했습니다. 1. User Entity 생성 로그인을 하기 위해서는 회원가입된 사용자 정보가 필요하기 때문에, UserDetails를 상속받은 User Entity를 생성합니다. @Entity class User(name: String, email: String, m_password: String): BaseTime(), UserDetails { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) var id: Long? = null @Column(nullable = false) var name: String = name @Column(null.. 2021. 12. 30. [Spring boot] JWT(Json Web Token)란? Json Web Token? json 포맷을 이용하여 사용자에 대한 속성을 저장하는 Claim 기반의 Web Token입니다. 토근 자체를 정보로 사용하는 Self-Contained 방식으로 정보를 안전하게 전달합니다. 주로 회원 인증이나 정보 전달에 사용됩니다. 구조 Header, Payload, Signature의 3부분으로 이루어지며, Json 형태인 각 부분은 Base64로 인코딩 되어 표현합니다. 또한 각각의 부분을 이어주기 위해 . 구분자를 사용하여 구분합니다. 추가로 Base64는 암호화된 문자열이 아니고, 같은 문자열에 대해 항상 같은 인코딩 문자열을 반환합니다. Header typ와 alg 두가지 정보로 구성됩니다. alg는 헤더를 암호화하는 것이 아니고, Signature를 해싱하기 위.. 2021. 12. 30. [Spring boot] Spring security란? Spring security? Spring 기반의 애플리케이션의 보안(인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임워크입니다. 인증과 권한에 대한 부분을 Filter 흐름에 따라 처리합니다. Filter는 Dispathcer Servlet으로 가기 전에 적용되므로 가장 먼저 URL 요청을 받지만, Interceptor는 Dispatcher와 Controller 사이에 위치한다는 점에서 적용 시기의 차이가 있습니다. Spring secutiry는 보안과 관련해서 체계적으로 많은 옵션을 제공해주기 때문에 개발자 입장에서는 일일이 보안 관련 로직을 작성하지 않아도 된다는 장점이 있습니다. Autorization & Authentication - 인증 (Authentication) : 해당 사용자가 본.. 2021. 12. 28. [Spring boot] swagger Failed to load API definition 오류 @PostMapping("/test") @ApiOperation(value = "test API") @ApiImplicitParams({ @ApiImplicitParam(name = "testReq", value = "test DTO", required = true) }) public BaseResponse postDivisions(@RequestBody TestReq testReq) { testService.create(testReq); return new BaseResponse(BaseResponseCode.OK); } 해당 오류가 뜨는 데에는 다양한 이유가 있지만, 저 같은 경우에는 @ApiImplicitParam의 name과 RequestBody로 받는 dto의 변수명이 일치하지 않아 생기는 문제.. 2021. 12. 26. 이전 1 2 다음 반응형