본문 바로가기

전체 글360

OAuth2 인증 OAuth2란? 보통은 애플리케이션에서 해당 서비스를 이용하는 사용자의 크리덴션을 관리하는 것이 일반적이다. 만약 사용자 Google 계정의 크리덴션과 연동되는 서비스를 제공한다고 가정해 보자. 이때 크리덴션을 두 개나 관리를 해야 한다. 한쪽에서 정보가 업데이트 되었을 때 다른 쪽도 업데이트를 해 줘야 한다는 번거로움도 있고, 애플리케이션이 사용자 Google 계정의 크리덴셜을 직접적으로 가지는 것은 보안상 큰 문제이다. QAuth2는 보안된 리소스에 액세스하기 위해 클라이언트에게 권한을 제공하는 프로세스를 단순화하는 방법이다. 특정 애플리케이션에서 사용자의 인정을 직접 처리하는 것이 아니라 사용자 정보를 보유하고 있는 신뢰할 만한 써드 파티 애플리케이션에 사용자 인증을 대신 맡긴다. Resource에.. 2022. 9. 28.
[Day 98] OAuth2 인증 학습 주제 OAuth2란? JWT 자격 증명을 위한 로그인 구현 JWT를 이용한 자격 증명 및 검증 구현 새롭게 배운 내용 2022.09.28 - [Back-End/Spring Security] - OAuth2 인증 OAuth2 인증 OAuth2란? 보통은 애플리케이션에서 해당 서비스를 이용하는 사용자의 크리덴션을 관리하는 것이 일반적이다. 만약 사용자 Google 계정의 크리덴션과 연동되는 서비스를 제공한다고 가정해 보자. cookiee.tistory.com JWT의 전체적인 내용 정리 Spring Security에서의 JWT(JSON Web Token) 인증 JWT 적용을 위한 사전 작업 JWT 자격 증명을 위한 로그인 인증 구현 JWT를 이용한 자격 증명 및 검증 구현 보강할 내용 🤔 공개키와 비밀.. 2022. 9. 28.
JWT(JSON Web Token) 인증 자격 증명을 위한 로그인 인증 구현 🌟 로그인 인증에 성공하면 사용자에게 JWT를 생성하여 발급해 준다! 클라이언트 👉 서버: 로그인 인증 요청(Username, Password) 로그인 인증 담당 Security Filter(JwtAuthenticationFilter)가 수신 수신한 로그인 인증 정보를 AuthenticationManager에게 전달하여 처리를 위임 Custom UserDetailsService에게 사용자의 UserDetails 조회를 위임 사용자의 크리덴션을 DB에서 조회한 후, Manager에게 사용자의 UserDetails 전달 Manager가 로그인 정보와 UserDetails를 비교해서 인증 처리 JWT를 생성하여 클라이언트의 응답으로 전달 자격 증명 및 검증 구현 🌟 클라이언.. 2022. 9. 27.
[Day 97] Spring Security에서의 JWT(JSON Web Token) 인증 학습 주제 Spring Security에서의 JWT 인증 - 로그인 인증 구현 - 자격 증명 및 검증 구현 새롭게 배운 내용 2022.09.27 - [Back-End/Spring Security] - Spring Security에서의 JWT(JSON Web Token) 인증 ++ 추가 공부 후 더 정리할 것 보강할 내용 CORS(Cross-Origin Resource Sharing) https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS https://en.wikipedia.org/wiki/Cross-origin_resource_sharing OncePerRequestFilter https://www.baeldung.com/spring-onceperrequest.. 2022. 9. 27.
Spring Security의 JWT(JSON Web Token) 인증 | Refresh Token이 탈취될 경우 자격 증명 방식 HTTP 프로토콜은 요청을 전송하고 응답을 받으면 연결을 끊는 비연결성 특성을 갖는다. 또한, 상태를 저장하지 않는 비상태성 특성을 가지므로 로그인이 성공적으로 수행되어도 서버 측에서는 그 이후에 수신된 요청이 인증된 사용자의 것인지 알 수 없다. 사용자 인증이 성공적으로 이루어졌을 때 사용자의 요청을 유지하기 위한 수단에는 무엇이 있을까? 🧩 세션 기반 인증된 사용자 정보를 서버 측에서 세션 형태로 세션 저장소에 저장한다. 사용자 요청이 올 때마다 서버는 세션 저장소의 세션 정보와 사용자가 보낸 정보(쿠키의 세션 ID)가 일치하는지 확인한다. SSR 방식에 적합한 방식이다. 사용자는 세션 ID만 가지므로 적은 네트워크 트래픽을 사용한다. 세션 정보는 서버 측에서 관리하므로 보안성이 좋다.. 2022. 9. 26.
[Day 96] JWT(JSON Web Token) 인증 학습 주제 JWT(JSON Web Token)를 사용하는 이유 JWT를 이용한 인증 방식 JWT 사용의 장점과 단점 토큰 방식과 세션 방식의 증명 JWT의 구성 요소 JWT 동작 방식 새롭게 배운 내용 2022.09.26 - [Back-End/Spring Security] - JWT 인증 JWT 인증 자격 증명 방식 HTTP 프로토콜은 요청을 전송하고 응답을 받으면 연결을 끊는 비연결성 특성을 갖는다. 또한, 상태를 저장하지 않는 비상태성 특성을 가지므로 로그인이 성공적으로 수행되어도 cookiee.tistory.com 보강할 내용 JWT를 생성하는 과정에서 사용된 메서드 JWT 생성 코드의 전체적인 흐름 회고 JWT에 대해 학습했다. JWT는 JSON Web Token의 약자이다. 우리가 아는 Toke.. 2022. 9. 26.