Kas wallet api 사용시 발생하는 cors 에러
KAS에서 제공하는 ‘글로벌 대납 RLP를 이용한 트랜잭션’ API를 사용 중에
CORS policy에 의해 에러가 발생하는 현상이 나타납니다.
Access-Control-Allow-Origin를 허용해주는 extension program을 사용해도 위와 같은 에러가 계속 발생합니다. 해결방안을 알려주시면 감사하겠습니다
아래는 API를 이용하는 코드 부분입니다 :
const {
rawTransaction: senderRawTransaction
} = await caver.klay.signTransaction(senderTxData)
const res = await axios({
url: "https://wallet-api.klaytnapi.com/v2/tx/fd/rlp",
method: "post",
headers: {
"x-chain-id": "1001",
"Content-Type": "application/json",
},
auth: {
username: "KAS ACCESSKEY ID",
password: "SECRET ACCESSKEY",
Authorization:"Basic AUTHORIZATION",
},
data: {
rlp: senderRawTransaction,
submit: true,
feeRatio: 0
},
json: true
})
-
[ANSWER]
안녕하십니까.GroundX 의 KAS 개발팀입니다.
현재 CORS 문제가 발생하는 것으로 보아 Web 개발에 KAS access key/secret key 를 직접 넣어 사용하시는거 같습니다.
현재 KAS 는 Web에서 바로 접근하는 방법을 제공하고 있지 않습니다.
그리고 Web 에서 Access key와 secret key를 이용하여 호출하는 경우에 외부에 노출이 될 가능성이 있기 때문에 권장하지 않는 방식입니다.
그 이유는 KAS Access key/ secret key 는 세션의 개념이 없기 때문에, 외부에 노출될 경우 어뷰징이 될수 있으며, 이로 인해 과금 또는 요청 제한이 발생할수 있습니다.
추가적인 문의가 있다면 언제든지 말씀주시길 바랍니다.
감사합니다.
0 -
저도 비슷한 문제입니다.
KAS Klaytn Node API 를 사용하려는데 동일한 cors 에러가 납니다.
웹에서 직접 요청이 안된다면
그러면 중간에 백엔드 서버가 하나 더 필요한건가요?
웹, 앱 <-> node.js 백엔드에서 caver.js 사용하여 요청 <-> KAS Klaytn Node API
이런식으로 해야되나요?
0 -
[ANSWER]
안녕하세요, 네 말씀하신 것처럼 백엔드에서 caver를 사용하여 KAS를 이용하시기를 권장드립니다.
0
Please sign in to leave a comment.
Comments
3 comments