Kaikas 서명 할 때, 거부 버튼이나 x 를 눌렀을 때 error

안녕하세요
Kaikas를 통해 로그인 기능을 구현 하고 있는데요. kaikas 서명에서 거부 버튼이나 x 를 눌렀을 때,

사진과 같은 error가 뜨고 있습니다. try catch에서 잡히는 error는 아닌 것 같습니다.

const onClickLogin = async (e) => {
    e.preventDefault();
    const { klaytn } = window;
    if (klaytn) {
      try {
        const account = provider.selectedAddress
        await klaytn.enable();
        klaytn.on('accountsChanged', async (account) => 
          await caver.klay.sign('Message to sign', account[0], (error, result)=> {
            if (error) {
              console.error(">>>>>>>>>", error)
            } else {
              console.log(result)
            }
          })
        )
        if (account) {
          try {
            await caver.klay.sign('Message to sign', account, (error, signedMessage)=> {
              if (error) {
                console.error("!!!!!", error, error.code)
              } else {
                console.log(signedMessage)
              }
            })
          } catch (error) {
            console.error("@@@@@", error)
          }
          console.log("KaiKas Login", account);
        }
      } catch (error) {
        console.error("#####", error);
      }
    }
  };

서명을 눌렀을 땐 error 없이 잘 넘어가고 있습니다.

안녕하세요. :smiley:
올려주신 코드에서 확인에 필요한 부분만 뽑아서 테스트했을때 정상적으로 에러를 catch하는것으로 확인하였습니다.

    const { klaytn } = window;
    if (klaytn) {
      try {
        await klaytn.enable();
      } catch (error) {
        console.error("#####", error);
      }
    }

혹시 원하시는게 이게 아닌걸까요?? :thinking:

답변감사합니다.

로그인이나 접속을 원치 않을 경우에 error 보내주는 것이 맞는지 의문이 들어서요.
github에서 kaikas-tutorial clone 해서 확인했을 때, 거부 버튼을 눌렀을 때, error를 보내주고 있기는 했습니다.

개인적인 생각으로 error 안보내 주는게 맞다고 생각을 해서요.

그리고 ‘####’ error 이전의 에러는 어디서 보내주는 건지 알 수 있을까요?? 분기 처리 해서 alert를 띄우는 방식을 해보고 싶습니다.

‘####’ error 이전의 에러는 개발자에게 피드백을 주기 위해 Kaikas Extension 자체적으로 콘솔에 로그를 찍은것입니다.

또, 이 에러를 처리하기 위해서는
error.message.includes('User denied account authorization') 와 같이 분기 처리해서 사용해주시면 되겠습니다.

2 Likes

답변 감사합니다~~~
시도 해보겠습니다

넵 감사합니다.

좋은하루보내세요 :smiley:

1 Like