Inflearn brand logo image

인프런 커뮤니티 질문&답변

cksdnddlek99님의 프로필 이미지
cksdnddlek99

작성한 질문수

카카오,구글 SNS 로그인(springboot3, vue3)

application.yml에 동일 OAuth2 제공업체의 redirect-uri를 여러 개 등록할 수 있을지 궁금합니다.

해결된 질문

작성

·

63

0

안녕하세요.

application.yml에 동일 OAuth2 제공업체의 redirect-uri를 여러 개 등록할 수 있을지 궁금합니다.

 

현재 OAuth 제공업체에 개발 및 테스트용과 배포용으로 redirect-uri를 여러 개 등록하였습니다.

해당 redirect-uri를 application.yml에 복수로 등록하여 사용할 수 있을까에 대한 의견이 궁금합니다.

답변 3

0

bradkim님의 프로필 이미지
bradkim
지식공유자

안녕하세요, 혹시 이걸 여쭤보신게 맞는지 모르겠습니다만, 아래와 같은 예시처럼 여러업체의 uri를 분기하여 등록할수 있습니다~!

 

0

bradkim님의 프로필 이미지
bradkim
지식공유자

spring:
  security:
    oauth2:
      client:
        registration:
          kakao:
            client-id: ${KAKAO_CLIENT_ID}
            client-secret: ${KAKAO_CLIENT_SECRET}
            scope: account_email, profile_nickname
            redirect-uri: "http://localhost:8080/member-service/login/oauth2/code/kakao"
            client-name: Kakao
            client-authentication-method: client_secret_post
            authorization-grant-type: authorization_code

        provider:
          kakao:
            authorization-uri: https://kauth.kakao.com/oauth/authorize
            token-uri: https://kauth.kakao.com/oauth/token
            user-info-uri: https://kapi.kakao.com/v2/user/me
            user-name-attribute: id
cksdnddlek99님의 프로필 이미지
cksdnddlek99
질문자

답변 감사합니다!

선생님 답변은 저의 질문과 약간 다른 듯 합니다.

저의 질문은 아래처럼 rediresct-uri을 여러 개 등록이 가능한지 궁금합니다.

oauth:
  google:
    client-id: client-id
    client-secret: client-secret
    redirect-uri: http://localhost:3000/oauth/google/redirect1
    redirect-uri: http://localhost:3000/oauth/google/redirect2
    redirect-uri: http://localhost:3000/oauth/google/redirect3

 

bradkim님의 프로필 이미지
bradkim
지식공유자

아하 넵 질문의도를 이해했습니다. 일단, 콘솔에 위에서 나열하신 redirect uri를 모두 등록해두고, 분기처리하여 redirect요청을 보내서 의도한대로 원하는 프론트 uri로 분기처리하는 것이 가능할것 같습니다.

cksdnddlek99님의 프로필 이미지
cksdnddlek99
질문자

넵, 시도해보겠습니다.

감사합니다!

0

안녕하세요, 인프런 AI 인턴입니다. cksdnddlek99님.

OAuth2 설정에서 redirect-uri를 복수로 등록하는 것은 특정 상황에서 유용할 수 있습니다. 특히 개발, 테스트, 배포 환경이 모두 다르다면 각각의 환경에 맞는 redirect-uri가 필요합니다.

application.yml 설정 예시:

application.yml 파일에서 여러 redirect-uri 설정을 관리하는 방법은 다음과 같습니다. Spring Boot에서는 프로파일(profile)을 이용하여 환경별 설정을 분리할 수 있습니다.

spring:
  profiles:
    active: dev

---

spring:
  profiles: dev
  security:
    oauth2:
      client:
        registration:
          google:
            redirect-uri: http://localhost:8080/login/oauth2/code/google
...

---

spring:
  profiles: prod
  security:
    oauth2:
      client:
        registration:
          google:
            redirect-uri: https://myproductionapp.com/login/oauth2/code/google
...

설명:

  • 프로파일 사용: Spring Boot의 프로파일을 통해 환경(dev, test, prod 등)에 따라 서로 다른 redirect-uri를 등록할 수 있습니다.
  • 여러 환경에 대한 설정: 위의 예시에서는 devprod 환경에서 각각 다른 redirect-uri를 설정하고 있습니다. 프로파일 구성을 통해 필요한 환경에 맞는 설정을 로드할 수 있습니다.

관련 더 자세한 설명과 다른 사용자들의 경험담은 아래 유사한 질문과 답변에서 확인하실 수 있습니다:
- Spring Boot에서의 OAuth2 복수 redirect-uri 설정.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

cksdnddlek99님의 프로필 이미지
cksdnddlek99

작성한 질문수

질문하기