안녕하세요. 넥스트와 타입스크립트로 카카오 로그인 구현 중인데 Javascript 키를 제대로 입력했음에도 동작하지 않는 것 같습니다.
//LoginForm.tsx
const onClickComingSoon = () => {
const kakao = KakaoInit();
kakao.Auth.authorize({
redirectUri:
'[aws서]/login/oauth2/code/kakao',
});
// 카카오 로그인 구현
kakao.Auth.login({
success: () => {
kakao.API.request({
url: '/v2/user/me', // 사용자 정보 가져오기
success: (res: any) => {
// 로그인 성공할 경우 정보 확인 후 /kakao 페이지로 push
console.log(res);
router.push('/kakao');
},
fail: (error: any) => {
console.log(error);
},
});
},
fail: (error: any) => {
console.log(error);
},
});
};
return (
<form
className="flex flex-col mx-auto justify-center items-start mt-10 "
onSubmit={handleSubmit(onValid)}
>
로그인
</button>
<section className="flex w-full justify-center mt-4">
<Image
onClick={onClickComingSoon}
src={KaKao}
alt="kakaologin"
className="cursor-pointer rounded-[20px]"
priority
/>
</section>
</form>
);
};
import Document, { Html, Head, Main, NextScript } from 'next/document';
class MyDocument extends Document {
render() {
return (
<Html lang="ko">
<Head>
<script src="https://developers.kakao.com/sdk/js/kakao.js"></script>
</Head>
<body>
<Main />
<NextScript />
</body>
</Html>
);
}
}
export default MyDocument;
//utils.ts
export const KakaoInit = () => {
const kakao = (window as any).Kakao;
if (!kakao.isInitialized()) kakao.init('키를 입력하세요!');
return kakao;
};
//react-app-env.d.ts
interface Window {
Kakao: any;
}
카카오 로그인 버튼을 클릭하면 이런 오류가 뜹니다 ㅜㅜ