🥴 스프링부트 OAuth 로그인을 위한 사전준비를 할 것이다
클라이언트 ID와 비밀번호는 외부에 노출되지 않도록한다
0. application.yml
- yml파일에 클라이언트ID와 비밀번호를 입력하기위해 미리 세팅해두기
- 구글, 페이스북, 트위터 등과 다르게 kakao, naver는 provider를 등록해줘야한다
spring:
# 나머지 코드
security:
oauth2:
client:
registration:
google:
client-id: #클라이언트 ID
client-secret: #클라이언트 보안 비밀번호
scope:
- email
- profile
naver:
client-id: #Client ID
client-secret: #Client Secret
scope:
- name
- email
client-name: Naver
authorization-grant-type: authorization_code
redirect-uri: http://localhost:8080/login/oauth2/code/naver
kakao:
client-id: #REST API 키
client-secret: #코드
redirect-uri: http://localhost:8080/login/oauth2/code/kakao
authorization-grant-type: authorization_code
client-authentication-method: POST
client-name: Kakao
scope:
- profile_nickname
- account_email
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
user-name-attribute: response
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
1. 구글
※ 구글 API 라이브러리 : https://console.cloud.google.com/apis/library?hl=ko
Google Cloud console
console.cloud.google.com
- 새 프로젝트 생성
- OAuth 동의화면
- 사용자 인증 정보
이름, 메일 적고 저장 후 계속 ~ 저장 후 계속 ~
승인된 리디렉션 URL에서 "/login/oauth2/code/google" 부분은 고정이므로 다른 주소는 사용할 수 없다
"http://localhost:8080" 앞 주소가 다르다면 알아서 변경하기
라이브러리가 알아서 처리해주기 때문에 따로 "/login/oauth2/code/google" 컨트롤러는 만들 필요가 없다
클라이언트 ID, 클라이언트 보안비밀번호는 외부에 노출되지않도록 한다
>> 구글 생성 완료
2. 네이버
※ 네이버 개발자 센터 : https://developers.naver.com/main/
NAVER Developers
네이버 오픈 API들을 활용해 개발자들이 다양한 애플리케이션을 개발할 수 있도록 API 가이드와 SDK를 제공합니다. 제공중인 오픈 API에는 네이버 로그인, 검색, 단축URL, 캡차를 비롯 기계번역, 음
developers.naver.com
화면 이동 후 하단의 [오픈 API 이용 신청]
Client ID와 Client Secret를 저장해두자
>> 네이버 생성 완료
3. 카카오
※ 카카오 개발자 센터 : https://developers.kakao.com/
Kakao Developers
카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.
developers.kakao.com
web에서 할거기 때문에 REST API 키를 저장해둔다
동의목적은 아무거나
[개인정보 동의항목 심사 신청]을 통해서 비활성화 되어있는 항목도 필수동의 받을 수 있다
>> 카카오 생성 완료
>> SpringBoot로 (다음글)
'개발 > SpringBoot' 카테고리의 다른 글
[SpringBoot] OAuth 로그인 - 2 구현 (구글, 네이버, 카카오) (0) | 2024.02.14 |
---|---|
[SpringBoot] SpringSecurity - 2 로그인 실패 (0) | 2024.02.14 |
[SpringBoot] SpringSecurity - 1 로그인 (0) | 2024.02.13 |
[SpringBoot] 썸머노트(summernote) - 3 이미지 S3 저장 (1) | 2024.02.13 |
[SpringBoot] 썸머노트(summernote) - 2 이미지 저장 (1) | 2024.02.13 |