자바스크립트로 토큰값을 불러오지 못하는 420 에러가 계속 발생합니다.
아래와 같은 소스코드에서 문제가 있는것으로 보이는데,
프로그램을 실행하면 인터넷페이지가 열렸다가 바로 닫히면서
토큰값을 못받아오는것 같아서요.
로그인은 잘 되도록 미리 웹페이지에서 로그인도 시켜놨는데
뭐가 문제인지 모르겠습니다.
let pollingCount = 0;
const id = Timers.setInterval(() => {
const pollTokenRes = this.accountClient.request({
method: 'POST',
path: '/api/v2/login/web_talk/poll.json',
body: {
_csrf: csrf,
token: createTokenData.token,
loginUrl: '/login?continue=https%3A%2F%2Faccounts.kakao.com%2Fweblogin%2Faccount%2Finfo',
activeSso: true,
},
headers: {
Referer: loginPage.url,
'User-Agent': this.configuration.defaultUserAgent,
'Content-Type': 'application/json',
Origin: 'https://accounts.kakao.com',
}
}).awaitResult();
const pollTokenData = pollTokenRes.json<PollTokenResponse>();
switch (pollTokenData.status) {
case 0:
const resultCookies = new java.util.LinkedHashMap<string, string>();
resultCookies.putAll(this.accountClient.cookies)
resultCookies.putAll(pollTokenRes.javaCookies);
resolve(resultCookies as unknown as Record<string, string>);
Timers.clearInterval(id);
break;
case -420:
if (++pollingCount === maxPollingCount) {
reject(`poll token error: ${pollTokenData.status}`);
Timers.clearInterval(id);
}
break;
default: {
reject(`poll token error: ${pollTokenData.status}`);
Timers.clearInterval(id);
break;
}
}
}, pollingInterval);
});
}