| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- JAVA객체지향
- java변수
- 시스템 환경 변수 편집
- this예약어
- Thread
- continue문
- function
- 집합관계
- 생성자
- for문
- Java
- 메서드
- 인텔리제이 기초 설정
- IntelliJ IDEA
- 컴파일
- 자바 멀티스레딩
- break문
- 메서드 오버로딩
- 반복문
- 형 변환
- 접근제어지시자
- While
- 상수
- 연관관계
- OPP개념
- multi-threading
- JAVA기초
- Java데이터 타입
- 포함관계
- 인텔리제이 한글 깨짐 해결법
- Today
- Total
최원종의 개발 블로그
kakao Developers(Oauth 2.0 설정) 설정 및 적용법 본문
Kakao Developers
카카오 API를 활용하여 다양한 어플리케이션을 개발해 보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.
developers.kakao.com
1. 사이트에 앱 등록 (우리 웹/앱 생성)

2. 클라이언트 키 (REST API 키)


3. 클라이언트 시크릿 키(REST API 키)
4. 리다이렉트 URI설정( http://localhost:8080/kakao-redirect)

5. 동의 항목 구성하기(닉네임, 프로필 이미지 설정)


6. 카카오 소셜 로그인 이미지 다운로드 후 이미지 파일 이름 수정
(우리 프로젝트 static/img 폴더 생성 후 파일 저장)




7. 사전 설정 (. env 파일설정 -시크릿키, 클라이언트 키 저장)

8.. env 파일에 클라이언트 키, 시크릿 키 저장(공백조심)
KAKAO_CLIENT_ID=13406fd2b29c4d7b2ec3920b9f9e4775
KAKAO_CLIENT_SECRET=G8jsX71pQ2T6QK0M28uj7Hl879VsSVUj

9. gitignore에. env 파일 설정(git이 이제 이 파일을 추적하지 않음)

10. 팀 협업을 위해서. env.example 파일을 설정해 준다(팀원들을 위해서)

11. 초기 파라미터 설정(application.yml) 클라이언트 키, 시크릿 키 변수로 등록

12. @Value("{....}") 값 확인

알고 있으면 좋은 내용

4.1. 권한 부여 코드 승인 (Authorization Code Grant)
권한 부여 코드 승인 방식은 액세스 토큰(Access Token)과 리프레시 토큰(Refresh Token)을 모두 얻기 위해 사용되며, 기밀 클라이언트(Confidential Clients)에 최적화되어 있습니다. 이 방식은 리다이렉션 기반의 흐름이므로, 클라이언트는 리소스 소유자의 사용자 에이전트(User-Agent, 주로 웹 브라우저)와 상호작용할 수 있어야 하며, 권한 부여 서버로부터 오는 (리다이렉션을 통한) 수신 요청을 받을 수 있어야 합니다.
[그림 3: 권한 부여 코드 흐름]
이 다이어그램은 권한 부여 코드 승인의 단계별 절차를 보여줍니다.
- (A) 클라이언트가 사용자 에이전트를 통해 리소스 소유자에게 권한 부여를 요청합니다. 이때 클라이언트 식별자(Client ID)와 리다이렉션 URI를 포함합니다.
- (B) 리소스 소유자가 사용자 에이전트를 통해 권한 부여 서버에 인증을 진행하고 권한을 승인합니다.
- (C) 권한 부여 서버는 사용자 에이전트를 통해 클라이언트에게 권한 부여 코드(Authorization Code)를 전달합니다.
- (D) 클라이언트는 권한 부여 서버에 직접 권한 부여 코드와 리다이렉션 URI를 제시하며 액세스 토큰을 요청합니다.
- (E) 권한 부여 서버는 클라이언트를 인증하고 코드를 검증한 후, 액세스 토큰 (및 선택적으로 리프레시 토큰)을 발급합니다.
참고: 단계 (A), (B), (C)를 나타내는 선은 사용자 에이전트를 거쳐 가기 때문에 두 부분으로 나뉘어 표시되어 있습니다.
13. 동의항목 요청주소 설계


GET
https://kauth.kakao.com/oauth/authorize?client_id=13406fd2b29c4d7b2ec3920b9f9e4775
&redirect_uri=http://localhost:8080/kakao-redirect
&response_type=code
client_id= "내 클라이언트 키 (REST API 키)값 넣기"
redirect_uri= " 내 리다이렉트 URI 넣기"
response_type= " 기본 code로 고정하기"
14. user/login-form.mustache 파일에 추가하기
추가코드
<div class="mt-3">
<a href="https://kauth.kakao.com/oauth/authorize?client_id=
13406fd2b29c4d7b2ec3920b9f9e4775&redirect_uri=http://localhost:8080/kakao-redirect&
response_type=code"><img src="/img/kakao_login.png.png" alt="소셜로그인"></a>
</div>
전체 코드
{{> layout/header}}
<div class="container p-5 flex-grow-1">
<div class="card">
<div class="card-header"><b>로그인을 해주세요</b></div>
<div class="card-body">
<!-- 자원에 요청은 GET 방식이 맞음
예외적으로 로그인 요청은 Post 처리해주어야 한다.
보안적인 이슈 때문.
-->
<form action="/login" method="post">
<div class="mb-3">
<input type="text" class="form-control" placeholder="enter username" name="username" value="admin">
</div>
<div class="mb-3">
<input type="password" class="form-control" placeholder="enter password" name="password"
value="1234">
</div>
<button type="submit" class="btn btn-primary form-control">로그인</button>
</form>
<div class="mt-3">
<a href="https://kauth.kakao.com/oauth/authorize?client_id=
13406fd2b29c4d7b2ec3920b9f9e4775&redirect_uri=http://localhost:8080/kakao-redirect&
response_type=code"><img src="/img/kakao_login.png.png" alt="소셜로그인"></a>
</div>
</div>
</div>
</div>
{{> layout/footer}}
사용 설정 켜주기(코드 문제없는데 요청화면이 안 뜰 때)

'설치 메뉴얼' 카테고리의 다른 글
| 스프링 부트 다운 및 인텔리제이 적용 (0) | 2026.04.21 |
|---|---|
| jdbc 환경변수(MySQL connector다운) (0) | 2026.04.06 |
| 실습 준비 - GSON + Lombok JAR 추가 (0) | 2026.04.01 |
| MySql 다운로드 및 설정법 (0) | 2026.03.26 |
| 코딩 기본 환경 설정 (0) | 2026.02.11 |