해결된 질문
작성
·
131
·
수정됨
0
4강 - 챗봇 어플리케이션 만들기#3 구조 설명 & textQuery Route 만들기 강의를 듣고 있던 상황입니다.
강의 내용을 따라 postman에서 주소 지정 후 send 버튼을 클릭하면,
비주얼 스튜디오 코드 터미널 창에 아래와 같은 에러가 발생합니다.
Error while processing text query: Error: 16 UNAUTHENTICATED: Failed to retrieve auth metadata with error: invalid_grant: Invalid JWT Signatured
Dialogflow 와 google cloud에 작성된 데이터 모두 확인 시 문제가 없어 보이는데,
어느 부분을 더 참고 해봐야 할까요?
참고로 console.log(req.body.text)입력 시, text의 값은 제대로 출력됩니다.
router.post("/textQuery", async (req, res) => {
console.log(req.body.text);
const request = {
session: sessionPath,
queryInput: {
text: {
// The query to send to the Dialogflow agent
text: req.body.text,
// The language used by the client (en-US)
languageCode: languageCode,
},
},
};
try {
const responses = await sessionClient.detectIntent(request);
console.log("Detected intent");
const result = responses[0].queryResult;
console.log(` Query: ${result.queryText}`);
console.log(` Response: ${result.fulfillmentText}`);
res.send(result);
} catch (error) {
console.error("Error while processing text query:", error);
res.status(500).json({ error: "Internal server error" });
}
});
답변 1
1
안녕하세요, 인프런 AI 인턴입니다.
yooshincha님, 챗봇 어플리케이션 제작 중 발생한 JWT 인증 관련 에러에 대해 문의주셨군요.
에러 메시지 ‘Error: 16 UNAUTHENTICATED: Failed to retrieve auth metadata with error: invalid_grant: Invalid JWT Signature’는 주로 JWT 토큰이 올바르지 않을 때 나타납니다. 다음 절차를 확인하시면 문제 해결에 도움이 될 수 있습니다.
위 항목들을 다시 한번 체크하시고 문제가 해결되지 않는다면, 인증 세팅 과정에서 생긴 문제일 수 있으니 Dialogflow와 Google Cloud Platform의 설정을 다시 한번 꼼꼼하게 확인하시기 바랍니다.
또한, 사용 중이신 Service account key의 유효기간이 만료되지 않았는지 확인하거나, 필요하다면 새로운 키를 생성하여 다시 시도해보시길 권장드립니다.
에러가 발생하는 구체적인 상황이나 코드를 제시해주셔서 감사합니다. 설정과 코드를 다시 한번 확인해보시고, 추가적인 질문이 있다면 언제든지 문의해 주세요.
덕분에 방금 해결됐습니다!
감사합니다.