본문 바로가기

Back-End/Spring Security11

[Spring Security] CORS(Cross-Origin Resource Sharing) 설정 🍕 CORS(교차 출처 자원 공유)란? 요청을 받는 백엔드 쪽에서 이를 허락할 다른 출처들을 미리 명시하여 다른 출처 간에 리소스를 공유할 수 있도록 한다. 브라우저는 다른 출처끼리의 요청이 보내질 때 요청에 Origin이라는 header(데이터가 전송될 때 데이터의 맨 앞쪽에 붙은 보충 정보 - 받는 쪽의 IP 주소, 사용할 프로토콜이나 옵션 등)를 추가한다. Origin에는 요청하는 쪽의 scheme(요청할 자원에 접근할 방법인 프로토콜 http, ftp, telnet)과 도메인, 포트가 담긴다. https:// : scheme naver.com : 도메인 :443 : 포트 요청을 받은 서버는 답장의 헤더에 지정한 Access-Control-Allow-Origin 정보를 실어서 보낸다. 여기에 요청을.. 2022. 11. 6.
JWT를 이용한 자격 증명 및 검증 구현 보호되어 있는 글 입니다. 2022. 9. 28.
JWT 자격 증명을 위한 로그인 인증 구현 보호되어 있는 글 입니다. 2022. 9. 28.
JWT 적용을 위한 사전 작업 보호되어 있는 글 입니다. 2022. 9. 28.
OAuth2 인증 OAuth2란? 보통은 애플리케이션에서 해당 서비스를 이용하는 사용자의 크리덴션을 관리하는 것이 일반적이다. 만약 사용자 Google 계정의 크리덴션과 연동되는 서비스를 제공한다고 가정해 보자. 이때 크리덴션을 두 개나 관리를 해야 한다. 한쪽에서 정보가 업데이트 되었을 때 다른 쪽도 업데이트를 해 줘야 한다는 번거로움도 있고, 애플리케이션이 사용자 Google 계정의 크리덴셜을 직접적으로 가지는 것은 보안상 큰 문제이다. QAuth2는 보안된 리소스에 액세스하기 위해 클라이언트에게 권한을 제공하는 프로세스를 단순화하는 방법이다. 특정 애플리케이션에서 사용자의 인정을 직접 처리하는 것이 아니라 사용자 정보를 보유하고 있는 신뢰할 만한 써드 파티 애플리케이션에 사용자 인증을 대신 맡긴다. Resource에.. 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.