Tajo 사전 이용 신청

이름과 회사 이메일 주소를 입력하세요. Tajo 이용 신청을 확인할 수 있는 링크를 이메일로 보내드립니다.

JWT 토큰

JSON Web Token(JWT)은 당사자 간에 정보를 JSON 객체 형태로 안전하게 전송하는 방법을 제공합니다.

JWT 구조

JWT는 점으로 구분된 세 부분으로 구성됩니다.

header.payload.signature

헤더

{
"alg": "HS256",
"typ": "JWT"
}

페이로드

{
"sub": "1234567890",
"email": "[email protected]",
"iat": 1516239022,
"exp": 1516242622
}

서명

서명은 다음과 같이 생성됩니다.

HMACSHA256(
base64UrlEncode(header) + "." +
base64UrlEncode(payload),
secret
)

JWT 토큰 생성

Node.js 예시

const jwt = require('jsonwebtoken');
const payload = {
userId: '12345',
scope: ['email', 'contacts']
};
const token = jwt.sign(payload, process.env.JWT_SECRET, {
expiresIn: '1h',
issuer: 'your-app',
audience: 'brevo-api'
});

Python 예시

import jwt
import datetime
payload = {
'user_id': '12345',
'email': '[email protected]',
'exp': datetime.datetime.utcnow() + datetime.timedelta(hours=1),
'iat': datetime.datetime.utcnow()
}
token = jwt.encode(payload, 'your-secret-key', algorithm='HS256')

Brevo API에서 JWT 사용하기

Terminal window
curl -X GET "https://api.brevo.com/v3/account" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
-H "Accept: application/json"

토큰 검증

const validateToken = (token) => {
try {
const decoded = jwt.verify(token, process.env.JWT_SECRET);
return { valid: true, payload: decoded };
} catch (error) {
return { valid: false, error: error.message };
}
};

권장 사항

  • 강력하고 무작위한 시크릿을 사용합니다
  • 적절한 만료 시간을 설정합니다
  • 모든 요청에서 토큰을 검증합니다
  • HTTPS만 사용합니다
  • 시크릿을 안전하게 보관합니다
  • 토큰 갱신 로직을 구현합니다

Tajo 사전 이용 신청

이름과 회사 이메일 주소를 입력하세요. Tajo 이용 신청을 확인할 수 있는 링크를 이메일로 보내드립니다.

AI 어시스턴트

안녕하세요! 문서에 대해 무엇이든 물어보세요.

이 페이지의 Markdown: jwt-tokens.md

Markdown 불러오는 중…
Claude에서 열기 ChatGPT에서 열기