스프링부트 공부기록(11) - 게시판 프로젝트 :: 네이버 API 로그인 구현하기
my code archive
article thumbnail
반응형

지난번에 만든 구글 로그인에 이어 이번에는 네이버 로그인을 추가해 보도록 한다.

 

1. 네이버 오픈 API 홈페이지로 이동

 

애플리케이션 - NAVER Developers

 

developers.naver.com

 

2. 애플리케이션 이름을 입력하고 네이버 아이디로 로그인 선택

 

3. 서비스 URL 등록.(=구글에서 등록한 리디렉션 URL 같은 역할)

 

  • 여기까지 마치면 끝! 클라이언트 ID와 비밀번호가 발급된다.

 

4. application-oauth.properties에 네이버api 관련 키값들을 수동으로 등록한다. 

  • 구글과 달리 네이버에서는 스프링 시큐리티를 공식 지원하지 않아 수동으로 입력 필요.
  • user_name_attribute = response : 네이버 회원 조회 시 반환되는 JSON 형태이기 때문에 response로 설정.

 

5. OAuthAttributes 클래스에 에 네이버인지 판단하는 코드 추가

  if("naver".equals(registrationId)){
            return ofNaver("id",attributes);
        }
public static OAuthAttributes ofNaver(String userNameAttributeName, Map<String, Object> attributes){
        Map<String, Object> response = (Map<String, Object>) attributes.get("response");

        return OAuthAttributes.builder()
                .name((String)attributes.get("name"))
                .email((String)attributes.get("email"))
                .picture((String)attributes.get("picture"))
                .attributes(response)
                .nameAttributeKey(userNameAttributeName)
                .build();
    }

 

6. index.mustache 화면에 네이버로그인 버튼 추가

<a href="/oauth2/authorization/naver" class="btn btn-secondary active" role="button">Naver Login</a>

 

역시 한번에 될리가 없쥬?ㅎㅎ....

application 프로퍼티 파일에 네이버 클라이언트 아이디, 비밀번호를 빼먹었다고 한다..다시 추가해 주고

 

7. 애플리케이션 실행

  • 네이버 로그인 버튼이 추가되었다. 눌러보면

또 왜이러는 거죠...?

역시 오타였다고 한다...ㅎㅎㅎㅎㅎ끝!

반응형
profile

my code archive

@얼레벌레 개발자👩‍💻

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

반응형