카카오 로그인 "error_code":"KOE320"

문의 시, 사용하시는 개발환경과 디벨로퍼스 앱ID를 알려주세요.


안녕하세요.

개발환경 : 스프링 gradle
앱ID : 105469

<뷰>

<div class="kakao-btn" onclick="kakaoLogin()">
									<label for="kakao_btn"><img src="resources/img/btn_kakao.png" style="width: 10vh;"></label> <span class="notice">카카오 로그인</span>
									<button id="kakao_btn" class="join__btn__kakao" style="display: none;">회원가입</button>
</div>

<!-- 카카오 스크립트 -->
<script src="https://developers.kakao.com/sdk/js/kakao.js"></script>
<script th:inline="javascript">
    // 클릭 이벤트를 관리하는 변수
    var kakaoBtnClicked = false;

    function kakaoLogin() {
        // 이미 클릭된 경우 더 이상 동작하지 않음
        if (kakaoBtnClicked) {
            alert('이미 로그인 요청이 진행 중입니다. 잠시 후 다시 시도해주세요.');
            return;
        }

        // 클릭 이벤트를 한 번만 실행되도록 변수 업데이트
        kakaoBtnClicked = true;

        // Kakao SDK 초기화
        Kakao.init('7a76e4c3e78f5c22de9c7a1a5ee8da15');

        // 카카오 로그인 요청
        Kakao.Auth.login({
            success: function(authObj) {
                // 로그인 성공 시 실행할 코드 작성
                var code = authObj.access_token; // access_token 값을 code로 변경
                // 서버로 획득한 code 전달
                $.ajax({
                    url: '/auth_kakao', // 수정되어야 할 부분
                    type: 'post',
                    data: { code: code },
                    success: function(response) {
                        // 로그인 후 처리할 작업 수행
                        console.log('로그인 성공:', response);
                        // 클릭 이벤트 변수 초기화
                        kakaoBtnClicked = false;
                    },
                    error: function(xhr, status, error) {
                        // 에러 처리
                        alert('로그인 요청 중 에러가 발생했습니다: ' + error);
                        // 클릭 이벤트 변수 초기화
                        kakaoBtnClicked = false;
                    }
                });
            },
            fail: function(err) {
                // 로그인 실패 시 실행할 코드 작성
                console.error('로그인 실패:', err);
                // 클릭 이벤트 변수 초기화
                kakaoBtnClicked = false;
            }
        });
    }
</script>

}


<서비스>




현재 작성된 코드입니다.
하루종일 시도해봤지만 해결이 되지 않아 질문드립니다.

인가코드를 받아와서 토큰 발급을 요청하지만 
계속해서 authorization code not found for code 에러가 발생하고 있습니다.

도움 부탁드립니다.

비슷한 문의를 찾아보니
인가코드를 중복으로 요청하고 있어서 그렇다라는 답변이 많았는데
그걸 어떻게 확인해야하는지는 알 수 없어 해결을 못하고 있습니다.


로그를 찍어봤을 때 토큰발급 전까지 필요한 데이터는 모두 조회되는것으로 확인됩니다.

responseCode : 400확인

안녕하세요.

Kakao.Auth.login success 콜백으로 전달되는 값은 접근토큰입니다.
서비스는 이 접근토큰을 code 파라미터로 /auth_kakao 에 전달하여
접근토큰을 발급받고 있습니다.

접근토큰 발급에는 인가코드가 필요합니다.

Kakao.Auth.login 는 팝업 로그인 기능으로 JS SDK가 사용자의 카카오 로그인후 전달되는 인가코드로 접근토큰까지 발급받아 success callback 으로 전달합니다.

따라서, 필요 없는 로직을 제거 하시거나 서비스에서 접근토큰을 받을 예정이시라면 redirect_uri 처리 방식인 Kakao.Auth.authorize 기능을 사용 부탁드립니다.

1개의 좋아요

감사합니다.
토큰을 발급받았다는 것을 인지하여 바로 해결할수있었습니다.
도움주셔서 감사합니다. : D
좋은 하루 되세요~~