전체 글52 [OAuth ,Security] CustomUserDetailsService과 CustomOAuth2UserService 차이점 CustomUserDetailService - CustomOAuth2UserService두 개의 Service 모두 인증 과정에서 사용자 정보를 처리하는 역할을 함하지만, 다루는 인증 방식과 사용되는 시점이 다름 CustomUserDetailService목적기존 로그인 시스템(JWT 또는 Form 로그인)에서 사용자 정보를 처리주로 데이터베이스에서 사용자를 조회하여 인증 정보를 반환주요 기능Spring Security가 기본 인증 방식을 사용할 때 사용자 정보를 로드loadByUsername(String username) 메서드로 사용자 정보 조회데이터베이스에서 사용자를 찾고, UserDetails 객체로 변환호출 시점사용자가 JWT 또는 Form 로그인 방식을 통해 로그인 할 때로그인 요청 시 사용자의.. 2024. 12. 2. [JWT] 프로젝트 JWT 토큰 적용(Access, Refresh, OAuth 2.0) JWT(Json Web Token)개념JSON 형식의 데이터를 안전하게 전송하기 위해 사용되는 토큰 기반 인증 메커니즘웹 애플리케이션의 사용자 인증 및 정보 교환에 사용서명을 포함하여 데이터의 무결성을 보장, 필요한 경우 암호화 가능구조Header (헤더)Payload (페이로드)Signature (서명)Header토큰 타입 (JWT로 표시)해싱 알고리즘 (ex: HMAC SHA256 또는 RSA){ "alg": "HS256", "typ": "JWT"}Payload토큰에 포함할 데이터를 나타냄 (클레임)클레임 종류 Registered Claims: JWT 표준에 정의된 클레임(iss - 발행자, exp - 만료 시간, sub - 주제, aud - 청중)Public Claims: 사용자 정의 클레임, .. 2024. 11. 20. [OAuth 2.0] 프로젝트에 OAuth 적용(구글 Google) oAuth 2.0개념인증 및 권한 부여를 위한 인증 프로토콜제 3자 애플리케이션이 사용자의 자원(ex: 이메일, 프로필 정보 등)에 안전하게 접근할 수 있도록 권한을 위임하는 방식으로 동작사용자는 자신의 자격 증명(아이디, 비밀번호)를 외부 애플리케이션에 제공하지 않고, 신뢰할 수 있는 권한 서버를 통해 인증 절차를 수행구성 요소Resource Owner(자원 소유자): 권한을 사용할 수 있는 사용자Client(클라이언트 애플리케이션): 사용자의 권한을 위임받아 자원에 접근하려는 애플리케이션Authorization Server(권한 서버): 사용자의 인증을 처리하고, 클라이언트에게 엑세스 토큰을 발급하는 서버Resource Server(자원 서버): 엑세스 토큰을 검증하고 요청에 따라 자원을 제공하는 서.. 2024. 11. 20. [백엔드 면접] GPT4o 기반 CS 기술 면접 (2) 해시테이블(HashTable) vs 해시맵(HashMap)동기화HashTable스레드 안전하며, 모든 메서드가 동기화 되어있음멀티프로세스 환경에서 안전하게 사용이 가능HashMap스레드 안전하지 않으며, 멀티프로세스 환경에서 별도의 동기화 작업이 필요NullHashTable: null을 허용하지 않음HashMap: key와 value에 null 허용성능HashTable은 모든 메서드가 동기화 되어 있어 상대적으로 HashMap의 속도가 빠름상속HashTable: DictionaryHashMap: AbstractMap초기화HashTable: 11개의 버킷으로 초기화, 버킷 수가 2배 증가HashMap: 16개의 버킷으로 초기화, 버킷 수가 2배 증가 자바의 메모리 영역메서드 영역클래스 수준의 정보가 저장되.. 2024. 7. 17. 이전 1 2 3 4 5 6 7 8 ··· 13 다음