📡 백엔드/🌱 Spring Boot

    [Spring] 스프링 시큐리티 + JWT로 카카오 로그인 구현하기, 프론트엔드와 연결

    [Spring] 스프링 시큐리티 + JWT로 카카오 로그인 구현하기, 프론트엔드와 연결

    지난 번에 DefaultOAuth2Service 를 상속하여 스프링 시큐리티에 등록하는 방식으로 카카오 로그인을 구현해보았다 하지만 이런 식으로 하게 되면 스프링 내장 함수을 이용하면서 편리하게 구현을 할 수는 있지만 구조가 너무 추상적이고 컨트롤러에서 통제하기가 어려웠다 그래서 이번에는 OAuth 인증 과정의 본질을 뜯어보면서 하나하나 구현해보았다 💾 이전 글 (DefaultOAuth2Service 이용) https://gengminy.tistory.com/39 [Spring] OAuth2Service + 스프링 시큐리티 + JWT로 카카오 로그인 구현하기 📌 OAuth "OpenID Authorization"의 약자 비밀번호를 제공하지 않으면서 웹사이트나 어플리케이션 접근 권한을 부여할 수 있는 로그..

    [Spring] OAuth2Service + 스프링 시큐리티 + JWT로 카카오 로그인 구현하기

    [Spring] OAuth2Service + 스프링 시큐리티 + JWT로 카카오 로그인 구현하기

    📌 OAuth "OpenID Authorization"의 약자 비밀번호를 제공하지 않으면서 웹사이트나 어플리케이션 접근 권한을 부여할 수 있는 로그인 방식 기존 아이디와 비밀번호를 통한 로그인 방식은 보안상 취약한 점이 아주 많다 그러나 OAuth 를 사용하면 특정 접근 권한만 부여할 수도 있고 강력한 보안을 제공하는 대기업에 사용자 인증과 인가를 위임하는 방식으로 안전하게 로그인할 수 있다 🏛 Dependency implementation group: 'org.springframework.security', name: 'spring-security-oauth2-client', version: '5.6.3' build.gradle 에 OAuth 관련 의존성을 추가해준다 🚀 Kakao Developers ..

    [Spring] Swagger 연동 시 Unable to infer base url 접속 에러 (ResponseBodyAdvice)

    [Spring] Swagger 연동 시 Unable to infer base url 접속 에러 (ResponseBodyAdvice)

    Unable to infer base url. This is common when using dynamic servlet registration or when the API is behind an API Gateway. The base url is the root of where all the swagger resources are served. For e.g. if the api is available at http://example.org/api/v2/api-docs then the base url is http://example.org/api/. Please enter the location manually: 스웨거 사용 중인 스프링 부트 서버에서 기능 업그레이드 중 갑작스럽게 나타난 에러 원래는 ..

    [Spring] 스프링 시큐리티로 CORS와 preflight 설정하기

    [Spring] 스프링 시큐리티로 CORS와 preflight 설정하기

    스프링 시큐리티로 CORS 설정 삽질해서 해결한 과정을 올려본다 사실 결론부터 말하자면 설정은 몇 줄 빼고 아주 잘 되어있었고 도커 이미지 태그가 달라져서 갱신이 안됐던거였다 ^^^^^;;; 로컬 환경에서는 너무나도 잘 되다가 EC2에 띄웠을 때만 자꾸 계속 preflight 과정에서 CORS 이슈가 생겨서 무한 삽질을 하고 있었다 그러다가 도커 컴포즈 파일을 봤는데 도커 이미지 태그가 바뀐 걸 보고 아,,, 한숨밖에 안나왔다 그 과정에서 CORS 관련 공부는 된 거 같아서 긍정적으로 생각할란다 🔥 문제 상황 주니어 개발자들을 벌벌 떨게 만드는 무시무시한 CORS 에러 Access to XMLHttpRequest at '{SERVER}' from origin '{ANOTHER ORIGIN}' has be..

    [Spring] 스프링 부트 프로젝트에서 dotenv 환경변수 파일 사용하기

    [Spring] 스프링 부트 프로젝트에서 dotenv 환경변수 파일 사용하기

    스프링 프레임워크를 사용하는 웹앱 프로젝트를 진행하면서 환경변수를 저장하기 위한 방법을 검색해보았다 그런데 보통 .env.properties 파일을 만들어서 그 안에 있는 값을 또 프로퍼티 빈을 만들어서 불러오더라 이렇게 하더라도 비밀키 값 같은 거는 .gitignore 에다가 등록을 하면 되지만 다른 언어를 사용하다가 온 입장에서는 굳이 이렇게 해야하나 싶어서 뭔가 답답하다고 해야하나 그래서 이 프로젝트에서는 .env 파일을 사용해서 환경변수를 불러오는 방법을 도입시켜보았다 📝 /.env PORT=8000 JWT_SECRET_KEY="MYSUPERSECRETJWTKEY" ... 우선 프로젝트 루트 디렉토리에 .env 파일을 만들었다 📝 /.gitignore ... .env* git을 사용중이라면 반드시..