개발환경, 도구/오픈API

springboot OAuth2 Client - facebook, naver login

gu9gu 2023. 1. 11. 20:33

https://developers.facebook.com/apps/

 

로그인 또는 가입하여 보기

Facebook에서 게시물, 사진 등을 확인하세요.

www.facebook.com

1. 패북 디벨롭에서 앱 생성

 - 앱 유형 : 없음

 

2. 대시보드에서 패북 로그인 설정

  - 웹 - 사이트 url : http://localhost:8080

 

3. 기본 설정에서 앱ID, 앱 시크릿 코드 확인해서 application.yml에 입력

 

 

 

애플리케이션 - NAVER Developers

 

애플리케이션 - NAVER Developers

 

developers.naver.com

1. 네이버 디벨롭에서 앱 생성

 - 애플리케이션 이름 : springboot-oauth2-naver

 - 사용자 API : 네이버 로그인 ->회원이름, 이메일 주소를 필수로 설정

 - 로그인 오픈 API 서비스 환경

     * 서비스 URL : http://localhost:8080

     * 네이버 로그인 C allback URL (최대 5개) :

 

 

2. 기본 설정에서 앱ID, 앱 시크릿 코드 확인해서 application.yml에 입력

 

 

 

 


  # mustache를 의존하겠다고 설정해두면 기본으로 경로가 아래와 같이 prefix, suffix가 설정된다.
  #  mvc:
  #    view:
  #      prefix: /templates/
  #      suffix: .mustache

  jpa:
    hibernate:
      ddl-auto: update #create update none
      naming:
        physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
    show-sql: true

  #참고 - https://docs.spring.io/spring-security/site/docs/5.2.12.RELEASE/reference/html/oauth2.html
  security:
    oauth2:
      client:
        registration:
          google: # /oauth2/authorization/google 이 주소를 동작하게 한다.
            client-id: 값 필요
            client-secret: 값 필요
            scope: # scope("openid", "profile", "email", "address", "phone")
              - email
              - profile

          # "https://developers.facebook.com/docs/facebook-login/web#--------"에서 facebook scope 확인
          facebook:
            client-id: 값 필요
            client-secret: 값 필요
            scope:
              - email
              - public_profile

          # 네이버는 OAuth2.0 공식 지원대상이 아니라서 client-name, authorization-grant-type, redirect-uri, provider 설정이 필요하다.
          # 요청주소도 다르고, 응답 데이터도 다르기 때문이다.
          naver:
            client-id: 값 필요
            client-secret: 값 필요
            scope:
              - name
              - email
              # - profile_image
            client-name: Naver # 클라이언트 네임은 구글 페이스북도 대문자로 시작하더라.
            authorization-grant-type: authorization_code # 인증 방식은 뭘 사용하는지.
            redirect-uri: http://localhost:8080/login/oauth2/code/naver

        provider:
          naver:
            authorization-uri: https://nid.naver.com/oauth2.0/authorize # 네이버 로그인 인증 요청
            token-uri: https://nid.naver.com/oauth2.0/token # 접근 토큰 발급 요청
            user-info-uri: https://openapi.naver.com/v1/nid/me # 접근 토큰을 이용하여 프로필 API 호출하기 - 프로필 정보 조회
            user-name-attribute: response # 네이버가 회원정보를 json 데이터인 response라는 키값으로 리턴해줌.

 

 

 

'개발환경, 도구 > 오픈API' 카테고리의 다른 글

Google API Console - OAuth login  (0) 2023.01.10
kakao developers - 로그인  (0) 2022.12.29