Programming184 [Spring boot - OAuth2] Naver Login 구현 #2 오늘은 인가 코드를 이용해 사용자 정보를 받아오는 코드를 작성해볼 것이다. [참고] Naver Developers https://developers.naver.com/docs/login/devguide/devguide.md#3-1-3-%ED%95%84%EC%88%98-%ED%95%AD%EB%AA%A9-%ED%99%95%EC%9D%B8 네이버 로그인 개발가이드 - LOGIN 네이버 로그인 개발가이드 1. 개요 4,200만 네이버 회원을 여러분의 사용자로! 네이버 회원이라면, 여러분의 사이트를 간편하게 이용할 수 있습니다. 전 국민 모두가 가지고 있는 네이버 아이디 developers.naver.com 1. 환경설정 (1) build.gradle (2) SecurityConfig (3) application.. 2023. 3. 4. [Spring boot - OAuth2] Naver Login 구현 #1 카카오, 네이버 등 다양한 환경에서 확장성을 갖춘 소셜 로그인 구현 방법이 궁금하시면 아래 게시글을 참고하셔도 좋습니다 https://hyeminseo.tistory.com/205 [Spring - OAuth2.0] 확장성 갖춘 소셜 로그인 구현 Google, Kakao, Naver 등 다양한 환경에 확장성을 갖춘 형태로 소셜 로그인을 구현해보자. 일단 Kako, Naver 두 환경을 대상으로 하며, 각 Developers 홈페이지에서 Application을 생성한 상태임을 가정하고 진 hyeminseo.tistory.com 오늘은 네이버 로그인을 위한 사전 작업을 해볼 것이다. 사전 작업이란, 네이버 개발자 계정으로 어플리케이션을 만드는 일이다. 1. Naver Developers 접속 https://.. 2023. 3. 4. [Deploy] 배포된 EC2에서 Google Login이 안되는 문제 해결 Spring boot 프로젝트에서 OAuth2User를 이용한 구글 로그인을 구현했었다. 로컬에서는 멀쩡히 잘 돌아가던 구글 로그인이 배포된 API에서는 안되는 문제가 있었다. 얄팍한 해결방법을 남겨두려고 한다. Check Point 1 Redirect URL은 ip로 불가능! Google Cloud Console에 들어가서 Redirect URI를 배포된 서버 ip주소로 (123.45.6.78 형태) 변경하려고 하니까 아래와 같은 오류메세지가 떴다. 공개 최상위 도메인으로 끝나야 한다는 것이다. 따라서 숫자로 된 Public IP가 아닌, EC2의 퍼블릭 IPv4 DNS 주소를 이용해서 Redirect URI를 추가해주었다. http://퍼블릭 IPv4 DNS/login/oauth2/code/googl.. 2023. 3. 2. [Deploy] EC2에서 Redis 사용하기 ▶ 목적EC2 서버 하나에서 Redis + Spring boot 프로젝트 동시에 돌리기 로컬 내 컴퓨터에 Redis를 설치하여 스프링부트 프로젝트를 돌리다가 서버를 배포하게 되었다.따라서 Remote Redis 서버 설정이 필요해졌다.EC2 서버를 하나 새로 만들어서 Redis 서버로 사용하기, AWS의 ElasticCache로 Redis 서버 만들기 등 다양한 선택지가 있었다. 그런데 나의 경우, 다른 팀원이 Redis 서버를 구축할 예정이라, 임시로 API가 돌아가는 수준의 Redis 서버를 간단히 만들고 싶었다. 그래서 이번에는 하나의 EC2에 Redis & Spring boot 프로젝트를 때려넣는(?) 방법을 공유한다.준비물 : Github Action으로 스프링 부트 프로젝트가 배포되어있는 E.. 2023. 3. 2. [Deploy] Github Actions + Docker + EC2 자동 배포 #2 | Docker 설정 1. Dockerfile 작성 - 스프링 프로젝트 최상단 경로에 Dockerfile 추가 FROM adoptopenjdk/openjdk11 ARG JAR_FILE=./build/libs/프로젝트명-0.0.1-SNAPSHOT.jar COPY ${JAR_FILE} app.jar ENTRYPOINT ["java", "-jar", "/app.jar"] 2. Ubuntu EC2에 Docker 설치 - EC2 인스턴스에 접속하여 수행 $ sudo apt-get update $ sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common $ curl -fsSL https://download.dock.. 2023. 2. 28. [Redis] Redis의 개념 및 설치 프로젝트에서 토큰 refresh 관리를 DB가 아닌 Redis를 이용하기로 했다.Redis를 사용해보는 경험이 처음이라, 개념부터 정리해보고자 한다. [참고] https://redis.io/docs/about/ Introduction to RedisLearn about the Redis open source projectredis.io 1. Redis ?Redis = Remote Dictionary ServerRedis는 Remote Dictionary Server의 줄임말로, Dictionary 구조로 비정형 데이터를 저장하는 DBMS이다. 1-1. NoSQLRedis는 NoSQL DBMS (비관계형 데이터베이스 관리 시스템)이다. 1-2. Key - ValueRedis는 다양한 자료구조의 데이터.. 2023. 2. 21. [Deploy] Github Actions + Docker + EC2 자동 배포 #1 | EC2 설정 이전 포스팅에서는 수동으로 jar 파일을 배포해봤었다. 이번에는 GitHub Action을 통해 CI/CD 자동 배포를 진행해볼 것이다. 오늘은 EC2 생성 단계이다. [준비물] AWS 계정 (Free Tier) [참고] https://bcp0109.tistory.com/363 1. 인스턴스 생성 1-1. Application / AMI 설정 Ubuntu 서버, 64비트를 선택해줬다. 1-2. 인스턴스 유형 프리티어가 사용 가능한 t2.micro로 선택해준다. 1-3. 키페어 생성 생성하고 다운받은 pem 파일은 잘 보관해둔다. 1-4. 네트워크 설정 보안 그룹을 새로 생성하면서 EC2 인스턴스를 만든다. 이후에 보안 그룹 설정을 따로 해줄 것이라 지금은 본인 IP에서 만 SSH 허용해두고 넘어간다. 1.. 2023. 2. 16. [Spring Security] JWT (Json Web Token) https://jwt.io/introduction JWT.IO JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties. jwt.io 1. JWT (Json Web Token) ? 전달하는 데이터를 Json 객체 형태로 안전하게 보내기 위한 표준을 JWT라고 한다. 이때, JWT는 RSA, HMAC 알고리즘을 이용하여 공개키/개인키로 서명되어 있으므로 신뢰할 수 있다. 따라서 '암호화' + '서명된' 정보를 전달할 수 있다. 2. JWT의 사용 용도 2-1. Authorization 2-2. 정보 교환 3. JWT의 구조 JWT는 Header, Payloa.. 2023. 2. 11. [Spring Security] JWT를 위한 배경지식 1. Session사용자 요청이 들어오면 처음에 그 사용자의 정보를 서버에 있는 세션에 저장해두고, 다음 요청부터는 그 세션과 사용자가 요청과 함께 보낸 세션 ID를 이용해서 해당 사용자에 대한 데이터를 세션에서 꺼내준다. 즉, 한번 접속한 순간부터 그 접속을 마치는 순간까지 사용자의 데이터를 세션이라는 서버 위치에 저장해두고 신속하게 가져다준다는 개념이다. 2. CIA (보안의 3요소)Confidentiality IntegrityAvailability기밀성무결성가용성허락된 사용자만이 정보를 이용할 수 있음완전한 상태로 정보를 보존함신뢰할 수 있는 정보를 접근 / 사용 가능함 3. RSA 암호화 (공개 암호 시스템)RSA 암호화를 위해 사용되는 key에는 공개키와 개인키가 있다.공개키는 누구에게.. 2023. 2. 10. 이전 1 ··· 5 6 7 8 9 10 11 ··· 21 다음