geun-00 Docs
search
⌘Ctrlk
GitBook Assistant
GitBook 어시스턴트
작업 중...생각 중...
GitBook Assistant
좋은 오후입니다

문서 이용을 도와드리겠습니다.

⌘Ctrli
AI 현재 컨텍스트 기준question-circle
geun-00 Docs
  • TIL 📃
  • Http
  • algorithm
  • cs
  • git
  • Database
  • Java
  • OS
  • Spring
    • advanced
    • basic
    • dataJpa
    • database_1
    • database_2
    • jpa
    • querydsl
    • springboot
    • springmvc_1
    • springmvc_2
    • test
    • security
      • oauth
        • 스프링 시큐리티 OAuth2
        • MAC_RSA
        • OAuth2Client
        • OAuth2Login
        • OAuthClient
        • OpenID
        • ResourceServer
        • SocialLogin
          • Social Login - 구글, 네이버 애플리케이션 등록
          • Social Login - 내부 프로세스
          • Kakao
            • Social Login - 폼 인증 & 카카오 추가 및 리팩토링 - Converter
            • Social Login - 카카오 애플리케이션 등록
            • Social Login - 폼 인증 & 카카오 추가 및 리팩토링
            • Social Login - 폼 인증 & 카카오 추가 및 리팩토링 - Model
            • Social Login - 폼 인증 & 카카오 추가 및 리팩토링 - Service
          • code
        • SpringServer
        • 검증기초
      • security
  • Springboot3
  • dataStructure
  • interview
gitbookPowered by GitBook
block-quote이 페이지에서chevron-down
  1. Springchevron-right
  2. securitychevron-right
  3. oauthchevron-right
  4. SocialLoginchevron-right
  5. Kakao

Social Login - 폼 인증 & 카카오 추가 및 리팩토링

img_20.png

hashtag
카카오 애플리케이션 등록arrow-up-right


hashtag
converterarrow-up-right

기존 registrationId에 따라 if문으로 분기하던 AbstractOAuth2UserServicearrow-up-right의 로직을 좀 더 유연하고 확장성 있게 변경하도록 한다.


hashtag
modelarrow-up-right


hashtag
servicearrow-up-right


hashtag
application.yml

  • 각 엔드 포인트 정보

    • 메타데이터 확인 - https://kauth.kakao.com/.well-known/openid-configurationarrow-up-right

    • https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#kakaologinarrow-up-right


이전 ↩️ - OAuth 2.0 Client(Social Login) - 소셜 인증 내부 프로세스arrow-up-right

메인 ⏫arrow-up-right

이전Social Login - 카카오 애플리케이션 등록chevron-left다음Social Login - 폼 인증 & 카카오 추가 및 리팩토링 - Modelchevron-right

마지막 업데이트 3개월 전

  • 카카오 애플리케이션 등록
  • converter
  • model
  • service
  • application.yml
server:
  port: 8081

spring:
  security:
    oauth2:
      client:
        registration:
          kakao:
            client-id: b170033e2933d7359f9d757a0da6b67d
            client-secret: s6euKpKvFTIqpXtDSHHgybUeIVnydR4S
            redirect-uri: http://localhost:8081/login/oauth2/code/kakao # /login/oauth2/code 는 스프링 시큐리티에서 정해놓은 기본값
            client-name: client-app
            authorization-grant-type: authorization_code
            client-authentication-method: client_secret_post
            scope:
              - openid
              - profile_nickname
              - profile_image
              - account_email
            provider: kakao

          google:
            ...
          naver:
            ...

        provider:
          kakao:  # issuer-uri 정보만 있으면 나머지 uri 정보들은 필요 없다.
            issuer-uri: https://kauth.kakao.com
            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
            jwk-set-uri: https://kauth.kakao.com/.well-known/jwks.json
            user-name-attribute: id
          naver:
            ...