Springboot Study/Springboot Security9 세션(Session)과 제이슨웹토큰(JSON Web Token) 세션(Session)과 JWT(JSON Web Token)은 모두 사용자 인증을 관리하기 위한 방법이지만, 동작 방식과 저장 방식에서 차이가 있습니다. 세션(Session)세션은 사용자가 웹 애플리케이션에 로그인할 때 서버가 고유 세션 ID를 발급하여, 서버에 사용자 상태를 저장하고 이를 통해 인증 상태를 관리하는 방식입니다.세션의 특징세션 저장 위치: 세션 정보는 서버에 저장되며, 주로 메모리나 데이터베이스에 저장됩니다.세션 ID: 서버가 생성한 고유 세션 ID가 사용자의 브라우저에 쿠키로 전달됩니다. 이후 클라이언트는 요청 시 쿠키에 포함된 세션 ID를 서버로 전송하여, 서버가 이를 확인하고 사용자의 인증 상태를 유지합니다.상태 저장성(Stateful): 서버가 세션 정보를 유지하기 때문에 상태 저.. 2024. 10. 29. OAuth OAuth는 인증(누구인지 확인)보다는 권한 부여(무엇을 할 수 있는지 확인)에 중점을 둔 프로토콜입니다. 사용자의 비밀번호를 공유하지 않으면서도 제3의 애플리케이션이 특정한 사용자 데이터를 안전하게 접근할 수 있도록 설계된 것이 특징입니다. OAuth의 주요 개념리소스 소유자(Resource Owner): 사용자를 의미하며, 보호된 자원(예: 이메일, 프로필 정보 등)을 소유하고 있는 사람입니다.클라이언트(Client): 사용자 데이터를 이용하고자 하는 제3의 애플리케이션입니다. 예를 들어, 사용자의 구글 프로필 정보에 접근하고자 하는 뉴스 앱이 클라이언트 역할을 합니다.권한 부여 서버(Authorization Server): 사용자를 인증하고 클라이언트에 액세스 토큰을 발급하는 서버입니다. 이 서버는.. 2024. 10. 28. 인증(Authentication)과 권한 부여(Authorization) 인증(Authentication)과 권한 부여(Authorization)는 보안 시스템에서 사용자나 시스템이 누구인지 확인하고, 무엇을 할 수 있는지 결정하는 데 중요한 역할을 하는 개념입니다. 1. 인증 (Authentication)정의: 인증은 사용자가 누구인지 확인하는 절차입니다. 쉽게 말해, 시스템에 접근하려는 사람이 "정말 그 사람인지"를 확인하는 과정입니다.사용 사례:로그인: 가장 흔한 인증 과정입니다. 사용자는 자신의 ID(사용자 이름)와 비밀번호를 입력하여 시스템이 본인이 맞는지 증명합니다.2단계 인증(2FA): 비밀번호 외에도 추가적인 보안 요소(예: 휴대전화로 전송된 코드나 생체 인식)를 활용하여 신원을 더욱 정확하게 확인합니다.싱글 사인온(SSO): 한 번의 인증으로 여러 애플리케이션.. 2024. 10. 28. 이전 1 2 다음