OAuth2.0 이란?
·
혼자하는 프로젝트/나만의 프로젝트
이번에 생활코딩에서 OAuth2.0 이란 강의를 듣고 OAuth2.0에 대한 개념을 정리해 보았다. 앞으로 구글, 네이버, 카카오의 소셜로그인을 구현하는 것이 목표이기 때문에 그전에 개념을 한번 살펴보고 싶어서 공부하게 되었다. 용어 설명 Resource Server : User의 정보를 가지고 있는 서버이다. 구글, 네이버, 카카오 같은 곳이라 생각하면 될 것 같다. Resource Owner : 구글, 네이버, 카카오 같은 곳에 회원가입이 되어 있는 유저이다. 우리 앱을 사용할 유저라 생각하면 될 것 같다. Client : 우리의 서비스이다. 등록 절차 client가 Resource Server를 이용하기 위해서는 Resource Server에 대한 Register를 받아 놔야 한다. 이때 3개의 값..
SpringBoot를 이용한 이메일 인증 하기
·
혼자하는 프로젝트/나만의 프로젝트
이번에는 이메일 인증을 하기 위해 SpringBoot에서 이메일 인증 코드를 보내는 것을 해볼려고 한다. 이메일 인증 구현은 링크 이 사이트를 참고해서 실행했다. 시작하기 전 구글 계정 세팅 나는 내 구글 계정을 사용해서 이메일을 보낼려고 한다. 크롬에서 오른쪽 상단에 자신의 프로필 클릭하고 구글 계정 관리를 들어간다. 왼쪽에 보안이 있다. 보안 중 비밀번호 앱 비밀번호를 선택한다. 메일 Windows 컴퓨터를 클릭하고 생성을 누른다. 이렇게 하면 16자리의 Spring boot에서 쓸 비밀번호를 얻게 된다. Gmail 이메일 발송 한도 https://support.google.com/a/answer/166852?hl=ko Google Workspace의 Gmail 전송 한도 - Google Worksp..
Spring Boot와 JWT를 이용한 회원 가입(2)
·
혼자하는 프로젝트/나만의 프로젝트
이번 시간에는 저번에 JWT로 바꾼 password를 다시 원상태로 뽑아올려고 한다. JWT 분석 eyJ0eXBlIjoiand0IiwiYWxnIjoiSFMyNTYifQ. eyJwYXNzd29yZCI6IjEyYWJjZCIsImlzcyI6Ildvb25nIiwiaWF0IjoxNjc1NjAyNzE2LCJleHAiOjE2NzcwNzM5NDV9. Y-gvsHLXdI8Ug2QoBalRuE2cE6jh08GbzwUnY7GIWGs 위의 token은 어제 내가 만든 JWT이다. 위에서부터 Header, Payload, Signature이다. 내가 뽑아 와야 할 password는 Payload에 암호화 되어 있다. 그래서 Payload에서 Claim 형태로 빼올 것이다. 우리는 이것을 Jws의 Claim 형식으로 빼올 것이다..
Spring Boot와 JWT를 이용한 회원 가입(1)
·
혼자하는 프로젝트/나만의 프로젝트
지금 부터 혼자서 하는 토이 프로젝트를 해볼려고 한다. 쇼핑몰을 만들어 볼 생각이다. 첫번째 순서는 JWT를 이용해서 회원 가입을 하는 것이다. JWT란? 지금부터 JWT에 대한 내용은 JWT 이곳을 참고했다. JWT는 Json Web Token의 약자로 인증에 필요한 정보들을 암호화시킨 JSON 토큰이다. JWT 기반 인증은 JWT 토큰(Access Token)을 HTTP 헤더에 실어 서버가 클라이언트를 식별하는 방식이다. JWT는 JSON 데이터를 Base64 URL-safe Encode 를 통해 인코딩하여 직렬화한 것이며, 토큰 내부에는 위변조 방지를 위해 개인키를 통한 전자서명도 들어있다. JWT는 Header, Payload, Signature 3개로 이루어져 있다. Header alg : 서명..