매번 로그인 할대마다 로그인 계정을 입력받고 로그인을 구현하기 위해서 loginForm을 사용해서 카카오 로그인을 구현했는데 초기에는 잘 되다가 어느순간부터 로그인 버튼을 누르면 login 이벤트를 트리거한것과 동일하게 로그인 팝업창이 활성화 되지 않고 그대로 로그인이 되어버립니다.
public login() {
return new Promise<string>((resolve, reject) => {
Kakao.Auth.loginForm({
success: ({ access_token }: { access_token: string }) => {
resolve(access_token);
},
fail: (error: any) => {
console.error(error);
this.logout().then(() => {
reject(new Error('카카오톡 로그인에 실패했습니다.'));
});
},
});
});
}
로그인 구현 코드를 위와 동일합니다.
access_token 은 별도로 setAccessToken 을 호출하여 accessToken을 바인드 하고 있지는 않습니다. setAccessToken으로 token을 바인드 해도 loginForm이 정상적으로 동작을 하지 않습니다.
p.s) loginForm 호출시 “Bad Request” 에러가 나옵니다.
p.s) login api 를 트리거 한 것과는 다르게 동작을 합니다. window popup은 활성화가 되지만 바로 닫히면서 success 혹은 fail 콜백이 실행 됩니다.