SMTP란?간이 우편 전송 프로토콜(Simple Mail Transfer Protocol)의 약자. 이메일 전송에 사용되는 네트워크 프로토콜이다.인터넷에서 메일 전송에 사용되는 표준입니다. SMTP는 이메일 전송을 위한 표준 프로토콜로, 거의 모든 이메일 시스템과 서버에서 지원된다. 이를 통해 다양한 이메일 클라이언트와 서버 간의 호환성을 보장한다/또한 Spring Boot의 JavaMailSender를 통해 SMTP 서버와의 통합이 용이하며, 이메일 전송 기능을 빠르게 구축할 수 있다. 그래서 회원가입 진행 시 이메일 인증을 진행하기 위해 Google SMTP를 사용하기로했다. Google SMTP 설정 Google 홈페이지 -> Google 계정 관리 (우측 상단)보안 -> 앱 비밀번호앱 비밀번호..
jjuya
개인정보는 암호화를 진행하려 한다.패스워드 같은 경우에는 암호화된 정보가 복호화시킬 필요가 없기 때문에 단방향 암호화 알고리즘을 이용하는 PasswordEncoder의 도움을 통해 쉽게 암호화를 진행하였다. 이메일이나, 사용자 이름, 전화번호, 주소등 사용자 개인정보에 해당하는 정보들은 나중에 복호화할 수 있어야 하므로 양방향 알고리즘을 이용해 암호화를 진행하기로 했다 단방향 알고리즘암호화 가능, 복호화 불가능패스워드 암호화시 사용 양방향 알고리즘암호화, 복호화 가능1. 대칭키(비공개키)암호화 복호화시 모두 동일한 키를 사용키를 비공개장점 : 속도가 빠르다단점 : 키를 전달하는 과정에서 노출의 우려가 있음DES, AES2. 비대칭키(공개키)암호화 복호화에 서로 다른 키를 사용하나의 키는 공개키로 사용,..
회원가입POST방식으로 요청 로그인 (인증)로그인 요청을 받은 후 JWT토큰을 생성해서 응답 경로 접근 (인가)JWT Filter를 통해 요청의 헤더에 JWT를 찾아 검증을 하고 일시적 요청에 대한 Sesstion 생성(생성된 세션은 요청이 끝나면 소멸됨 - JWT방식으로 "STATELESS" 상태임) MSA구조로 리팩토링후 JWT토큰 발급 과정user-service에 있던 jwtFilter대신에 API Gateway에서 jwt토큰 검증을 진행해준다.
목적프로젝트에서 지역기반 검색을 위해 DB조회를 하기 위해서는 해당 쿼리를 활용하게 되는데,SELECT * FROM sitterdb.petsitter WHERE UPPER(sitterWorkAdr) LIKE '%서울%' AND delFlag = false ORDER BY id DESC;# 서울 이라는 단어로 지역검색시게시물의 글이 많아질 경우 해당 키워드를 찾기 위해 많은 시간이 걸릴 것이라는 생각을 했다.그래서 프로젝트의 주요 기능중 하나인 검색 기능에서 indexing을 통해 데이터 성능개선 방향을 고려해 보기로 했다. indexing이란?인덱스를 성정하면 해당 컬럼들의 값을 해시 맵 형태로 메모리에 저장해 두고 검색할 때 메모리 검색을 먼저 하고 해당하는 행을 찾아 반환해 준다.하지만, 인덱스를 생..
카카오톡 로그인 과정 인가코드 받기 -> 카카오접근 (리다이렉트 uri)Access토큰 받기사용자 정보 요청모든 단계를 서버에서 할 필요는 없음해당 부분도 고민해 봐야 할 부분 애플리케이션 등록 및 카카오 설정하기https://developers.kakao.com/ Kakao Developers카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.developers.kakao.com 1. 애플리케이션 등록 API KEY확인내 애플리케이션 -> 애플리케이션 등록REST API키 확인하기(API키값은 다른 곳에 노출되지 않게 주의하기!) 2. 카카오 로그인 활성화 / Redirect Uri 설정 3. 동의 항목 설정카카오 ..
회원가입 / 로그인스프링 시큐리티 작업으로 로그인/ 회원가입 작업 진행SSR방식을 이용해서 세션에 저장 "별도의 서버에서 통신을 통하는 경우 API서버의 입장에서는 인증할 수 있는 수단으로 토큰을 이용타임리프는 서버에서 이미 데이터를 다 만들어서 결과를 보내주는 방식브라우저는 매번 서버 호출시 해당 서버에서 발행된 쿠키를 자동으로 전송하고 서버에서는 사용자를 인증할 수 있음" 1. 시큐리티 인증방식2. 회원 권한 작성 (USER,MANAGER, ADMIN)3. 비밀번호 암호화 방식 (BCryptPasswordEncoder) 회원 권한public void addRole() { String username = getAuthName(); Member member = memberRepository..
https://www.erdcloud.com/d/oX7bsufXY6wXb49wm petsitterDraw ERD with your team members. All states are shared in real time. And it's FREE. Database modeling tool.www.erdcloud.com
🚀 프로젝트명반려동물 돌봄 서비스(지역에 따른 펫시터 서치 및 예약시스템) 🚀Github 주소https://github.com/Cyoungju/springBoot-petsitter 🚀요구사항회원가입 / 로그인 / 마이페이지Spring Sequrity를 이용해 회원 가입 로그인을 진행.로그인 시 사용자 정보 sesstion에 저장SSR(서버 사이드 랜더) - thymeleaf 방식을 사용할 것이기 때문에 세션 방식으로 저장추후 jwt 토큰 생성 개발 가능회원가입회원 번호(pk), 아이디(이메일 - uniqe), 비밀번호, 회원이름, 주소, 전화번호, 권한권한은 기본 USER권한펫시터로 전환시 MANAGER 권한 추가화면 구형 - 주소검색은 kakao api 로그인아이디(이메일형식), 비밀번호aut..