반응형
지난번에 만든 구글 로그인에 이어 이번에는 네이버 로그인을 추가해 보도록 한다.
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. 애플리케이션 실행
- 네이버 로그인 버튼이 추가되었다. 눌러보면
또 왜이러는 거죠...?
역시 오타였다고 한다...ㅎㅎㅎㅎㅎ끝!
반응형
'💻 my code archive > 🏷️JAVA & Spring(Boot)' 카테고리의 다른 글
스프링부트 공부기록(13) - AWD 데이터베이스 RDS 만들기, 인텔리제이 연결하기 (0) | 2022.03.04 |
---|---|
스프링부트 공부기록(12) - AWS 배포 :: 회원가입, EC2 인스턴스 생성하기 (0) | 2022.03.02 |
스프링부트 공부기록(10) - 게시판 프로젝트 :: 스프링 시큐리티, OAuth 2.0 구글 로그인 구현하기 (0) | 2022.03.01 |
스프링부트 공부기록(9) - 게시판 프로젝트 :: 머스테치 사용, 게시판 글 조회, 수정, 삭제 구현하기 (0) | 2022.02.27 |
스프링부트 공부기록(8) - 게시판 프로젝트 :: 머스테치 사용, 게시판 글 등록 구현하기 (0) | 2022.02.27 |