본문 바로가기

서버
(51)
[스프링부트(Spring Boot)] CLOUDTYPE으로 서버 배포하기 포트폴리오 사이트에 필요한 api를 Spring Boot 로 개발하고 어떻게 배포할지에 고민을 많이 했다. 처음에는 AWS로 배포하려고 했는데(그것밖에 몰랐다..^^) 찾아보니 클라우드 타입이라는 사이트가 있었다. RDS와 S3를 사용 중인데 지금은 aws 프리티어를 이용 중이라 금액이 크지는 않지만 어쨌든 매달 요금이 나가는 상황이라.. EC2로 배포까지 하면 과금이 두려웠다... 심지어 프리티어가 끝나가기에.. HTTPS 지원 + Github Actions 지원에 금액적인 메리트가 커서 클라우드 타입으로 배포를 결정했다. * 공식 홈페이지: https://docs.cloudtype.io/guide/welcome/intro 소개 - 클라우드타입 Docs 클라우드타입은 클라우드 기반 애플리케이션을 빠르게..
[스프링부트(Spring Boot)] 소셜 로그인 회원탈퇴(구글 연동 해제) 회원 탈퇴 시 구글 계정 연동을 해제하는 기능을 구현했다. 이번에도 연결된 서비스가 해제되게 해보겠다. 구글 api 명세서.... 너무 불친절.... 구글은 요청 변수(data)로 액세스 토큰을 넘겨주면 된다. 카카오는 액세스 토큰을 헤더로 넘겨주고, 네이버는 요청 변수로 넘기는 대신 data가 더 많았다. 왜.. 왜 3개가 다 다른 걸까..? 통일되어 있으면 처리하기가 좋을 텐데 😂 else if(btnType === 'google') { await axios.post(this.$store.state.url+'disconnectGoogle', new URLSearchParams({token: accessToken}).toString()).then(response => {console.log(respon..
[스프링부트(Spring Boot)] 소셜 로그인 회원탈퇴(네이버 회원탈퇴) 회원 탈퇴 시 네이버와의 계정 연동을 해제하는 기능을 구현해보았다. 로그아웃과 동일! 연결된 서비스에서 사라지게 만드는 것이 목표! 개발 가이드에 아주 친절하게 잘 나와 있다. https://developers.naver.com/docs/login/devguide/devguide.md#5-3-1-%EB%84%A4%EC%9D%B4%EB%B2%84-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EC%97%B0%EB%8F%99-%ED%95%B4%EC%A0%9C%EA%B0%80-%ED%95%84%EC%9A%94%ED%95%9C-%EA%B2%BD%EC%9A%B0 네이버 로그인 개발가이드 - LOGIN 네이버 로그인 개발가이드 1. 개요 4,200만 네이버 회원을 여러분의 사용자로! 네이버 회원이라면, 여러분..
[스프링부트(Spring Boot)] 소셜 로그인 회원탈퇴(카카오 회원탈퇴) 소셜 계정으로 가입한 회원이 탈퇴를 하게 된다면, 자체적으로 탈퇴 처리만 해도 되지만, 그 후 연결을 끊어주는 방법도 있다. 연결을 끊어주지 않으면 해당 소셜 계정에 계속 뜰 것이다.. https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#unlink Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com 액세스 토큰을 이용하는 것과, 어드민 키를 이용하는 두 가지 방법이 있다. 서비스 종료 등의 이유로 액세스 토큰을 이용하여 연결을 끊을 수 없는 경우가 있어서 어드민 키를 이용하는 방법을 지..
[스프링부트(Spring Boot)] 소셜 로그인 로그아웃(네이버 로그아웃) 네이버는 별도로 로그아웃 api 를 제공하고 있지는 않다. 대신 access token을 삭제하는 방식으로 로그아웃 처리를 했다. 토큰 삭제는 발급과 매개변수만 다르고 방식은 동일하다. 참고로 이렇게 하면 회원 탈퇴와 같은 로직이기 때문에 연동이 해제되는 것이다. DB 처리가 다르기 때문에 운영 상에는 차이가 난다. else if(btnType === 'naver') { this.naverLogoutParams.access_token = accessToken; await axios.post(this.$store.state.url+'snslogout', new URLSearchParams(this.naverLogoutParams).toString()) } access_token을 삭제하려면 기존의 acce..
[스프링부트(Spring Boot)] 소셜 로그인 로그아웃(카카오 로그아웃) 일반회원과 같은 로직으로 로그아웃을 해줘도 되지만, 사용자 편의를 위해서는 api에서 제공하는 로그아웃을 이용하는 것이 좋다. 그렇게 하지 않으면 다음에 소셜 로그인을 이용할 때 계정을 선택하지 못 한다던가... 하는 불편함이 생길 수 있다.(나의 경험이다..^^) 네이버, 구글, 카카오 3가지로 로그인을 구현해보았는데, 흐름이 동일하여 하나의 로직으로 리팩토링해서 사용했다. 로그아웃도 3개의 흐름이 비슷하다면 이번에는 한 번에 글을 작성하려고 했으나... 조금(많이?^^) 달라서... 하나로 구현하기 어려울 듯 하다. ex ) 카카오는 공식적으로 로그아웃 api 제공, 네이버는 제공 x 토큰을 날려야 한다. 카카오 로그아웃 방법의 경우 api 문서를 보면 친절하게 나온다. 오로지 이 페이지만 보고 구현..
[스프링부트(Spring Boot)] 소셜 로그인(구글 로그인) 소셜 로그인 마지막인 구글 로그인. https://cloud.google.com/identity-platform/docs/use-rest-api?hl=ko REST API 사용 | Identity Platform 문서 | Google Cloud 의견 보내기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. REST API 사용 이 문서에서는 Identity Platform REST API를 사용하여 사용자 로그인 및 토큰 작업 등의 일 cloud.google.com 먼저, 프로젝트를 생성한다. 그리고 OAuth 동의 화면을 찾아 이동! User Type은 외부로 선택. 네이버에서는 검수 요청을 안 하면 내 계정만 됐는데, 그 부분을 해결할 수 있을 것 같다. 그런데 OAuth..
[스프링부트(Spring Boot)] 소셜 로그인(네이버 로그인) 네이버 API 는 처음 사용해 보는 거라 , 애플리케이션 생성부터 차근차근 시작했다. https://developers.naver.com/products/login/api/api.md 네이버 로그인 - INTRO 환영합니다 네이버 로그인의 올바른 적용방법을 알아볼까요? 네이버 로그인을 통해 신규 회원을 늘리고, 기존 회원은 간편하게 로그인하게 하려면 제대로 적용하는 것이 중요합니다! 이에 올바 developers.naver.com 카카오랑 생성하는 게 비슷하다! 차이점이, 카카오는 얻어올 수 있는 사용자의 정보가 제한되어 있었는데(아마 개인이라) 네이버는 거의 다 받아올 수 있는 듯 하다. 하지만 나는 카카오랑 동일한 소셜 로그인 처리를 하기 위해 이메일만 선택했다. Callback URL은 카카오의 R..