프로젝트 & 활동/개인 프로젝트

스프링 시큐리티 개념Authentication(인증) vs Authorization(인가) Authentication(인증)은 식별 가능한 정보를 이용하여 서비스에 등록된 유저인지를 파악하기 위한 과정으로, 인증을 통해 등록된 사용자에게만 서비스를 제공한다. Authorization(인가)는 인증된 사용자가 접근하려는 자원에 대한 권한이 있는지 확인하는 과정으로, 인가에 앞서 인증이 반드시 선행되어야 한다. 스프링 시큐리티 인증 아키텍처1. 사용자가 로그인 정보(이메일, 비밀번호)와 함께 인증을 요청한다.2. AuthenticationFilter가 요청을 가로챈 뒤, UsernamePasswordAuthentication의 인증용 객체를 생성한다.3. AuthenticationManager의 구현체인 P..
토큰 인증 방식토큰 인증 방식이란?토큰 인증 방식은 클라이언트가 서버에 접속을 하면 서버가 해당 클라이언트에게 토큰을 부여한다. 그 이후에 클라이언트가 서버에 접속을 할 때 요청 헤더에 발급받은 토큰을 같이 보낸다. 그러면 클라이언트의 요청을 처리하기 전에 클라이언트로부터 받은 토큰으로 서버에서 제공한 토큰인지 확인하여 인증을 한다. Access Token과 Refresh Token을 사용한 인증 과정access token만 사용해도 충분히 인증을 하는데는 아무런 문제가 없다.다만 다음과 같은 이유로 access token과 refresh token을 같이 사용해 인증을 한다.보안 강화- access token은 수명이 짧기 때문에 노출되어도 피해가 적다.- refresh token은 서버에 저장해두고,..
Ping의 일반 회원가입 API를 구현하였다.일반 회원가입의 로직은 이메일과 비밀번호를 클라이언트로부터 받아 회원가입을 진행한다. 이 때, 회원이 입력한 이메일로 인증을 해야한다. 해당 로직을 구현하기 위해서는 회원에게 메일을 보내기 위한 이메일 설정과 Spring Boot에서 해당 로직을 구현해야한다. Gmail 설정하기 이메일 인증을 위해서는 메일 전송 플랫폼이 필요하다. 필자는 Gmail을 통해 클라이언트에게 인증 메일을 전송할 계획이다. Google 계정 설정하기[Google 계정 관리] > [보안] > [2단계 인증] > [앱 비밀번호] 에 접속한다.원하는 앱 이름을 작성하고 만들기 버튼을 누른다. 만들기 버튼을 누르고 생성된 앱 비밀번호는 1번만 볼 수 있기 때문에 잘 저장해두자. Gmail..
프로젝트 시작복학하기 전, 7~8월동안 개인 프로젝트를 하나 진행해보려고 한다.그동안 너무 인강만 보았기 때문에 진짜 내 실력을 키웠을까에 대한 의문도 생겨서 프로젝트를 통해 깨닫고 부족한 부분들을 차근 차근 채워 넣어보려고 한다. 사실 주제에 대한 고민이 가장 컸다. 내가 애정을 가질 수 있는 주제여야 하고, 사용해보고 싶은 기술이나 기능들이 있어야 하는.. 그러면서 다른 사람들이 어떤 프로젝트들을 진행했는지 보다가 뉴스 피드의 존재를 알게 되었다. 뉴스 피드(News Feed)란 자신의 친구들의 최신 게시물을 볼 수 있는 화면을 의미한다.페이스북, 인스타그램 같은 SNS나 네이버, 다음 같은 포털 사이트에서 최신 뉴스 기사들이 계속 업데이트 되는 것 등이 다 뉴스 피드의 예시이다. 즉, 사용자에게 정..
-minari-
'프로젝트 & 활동/개인 프로젝트' 카테고리의 글 목록