JWT Key를 발급받기 위해서 Lostark OpenAPI Developer 홈페이지에 접속했다.
JWT Key를 발급받았는데 이걸 어떻게 쓰는건지 알기위해서 API DOCUMENTS를 들어갔다
JWT Key사용 예시이다. 보니까 key 앞에 bearer 를 붙여야 사용가능하다
Authorization: bearer abcdefghijklmnopqrstuvwxyz // 이런식으로
USAGE GUIDE에 있는 기초 예제(샘플)로 api 호출을 해보자
curl와 Javascript가 있는데 curl샘플을 따라해볼것이다(사실 미리 진행을 조금했어서 대부분의 예제가 curl로 적혀있길래 이것으로진행)
근데 Javascript example 은 자바스크립트를 이용한 예제라는것을 알겠는데 curl example은 뭘까? curl은 아래에 설명이있다. (글 하단 참고)
나는 nodejs를 사용하고있기때문에 검색해보니 curl을 nodejs코드에 맞게 변환시켜주는 사이트가 있었다.
nodejs + axios를 사용할꺼기 때문에 Language 설정을 해주면 이미지와 같은 코드를 준다 이것을 복사 붙여넣기 하면 호출 테스트코드 완성
근데 이번엔 axios 가 뭔데? (글 하단 참고)
이렇게 웹페이지에서 post요청을 보내면 lostark api를 호출할수있다 호출한 값은
console.log(response.data)로 확인할수있다.
엥? 근데 코드안에 bearer ~~~ 가 없는데??
인증키 자리가
authorization : process.env.lostark_api_key
로 변경되어있다.
이유는 JWT Key 는 중요한 개인정보라 소스코드내에 적었을때 누군가 볼수도있기때문에 따로 파일을 만들어서 전달받는형식으로 해야한다.
그래서 .env 파일이라는 것을 만들었다.
.env 파일을 만드는법은
파일생성 > 이름을 .env로 > 변수명 : 저장할값
으로 하면된다
.env 파일을 사용하기위해서는 dotenv 라이브러리를 설치해야한다
npm install dotenv
그리고 서버코드 맨위에
require('dotenv').config();
를 추가해주면 된다
사용할때는
process.env.'변수명'
으로 사용하면 .env파일을 사용할수있다.
개발자 또는 회사만 알아야하는 오픈소스에 올리면 안되는 값들을 dotenv 패키지를 사용하여 환경변수 파일을 외부에 만들어서 이용하는 방식의 파일이다.
curl = Client URL
서버와 통신할 수 있는 커맨드 명령어툴, curl을 사용하면 HTTP or HTTPS 로 GET,POST등의 요청을 전송할수있다.
한마디로 외부api에 GET,POST 요청을 보내게 도와주는것
Axios는 node.js에서 사용할수있는 curl와 같은 HTTP or HTTPS 로 GET,POST등의 요청을 전송할수있다