시작하기
인증
JWT 토큰 기반 인증 방법 가이드
인증
Glowb API는 JWT (JSON Web Token) 기반 인증을 사용합니다. 모든 보호된 엔드포인트에 접근하려면 유효한 Access Token이 필요합니다.
토큰 종류
| 토큰 | 유효 기간 | 용도 |
|---|---|---|
| Access Token | 14일 | API 요청 인증 |
| Refresh Token | 14일 | Access Token 갱신 |
토큰은 안전하게 보관하세요. 토큰이 노출되면 계정 보안에 문제가 발생할 수 있습니다.
토큰 구조
JWT 토큰에는 다음 정보가 포함됩니다:
| 클레임 | 설명 |
|---|---|
sub | 사용자 ID |
auth | 사용자 권한 |
userId | 사용자 ID |
username | 사용자 이름 |
userImage | 프로필 이미지 URL |
iat | 토큰 발급 시간 |
exp | 토큰 만료 시간 |
인증 흐름
1. 로그인
POST /business/login
Content-Type: application/json
{
"id": "business_id",
"password": "password123"
}응답:
{
"result": {
"id": "business_id",
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"isNewUser": false
},
"resultCode": 200,
"resultMsg": "로그인 성공"
}소셜 로그인 (Google, Kakao, Facebook)을 통해 인증합니다.
POST /ai/oauth/login
Content-Type: application/json
{
"provider": "google",
"accessToken": "google_oauth_token"
}2. API 요청
모든 보호된 API 요청에는 Authorization 헤더가 필요합니다.
GET /business/home
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...Bearer 접두사를 반드시 포함해야 합니다.
3. 토큰 갱신
Access Token이 만료되면 (401 응답) Refresh Token을 사용하여 새 토큰을 발급받습니다.
POST /auth/refreshToken
Authorization: Bearer \{refresh_token\}응답:
{
"id": "user_id",
"accessToken": "new_access_token",
"refreshToken": "new_refresh_token",
"isNewUser": false
}사용자 권한
| 권한 값 | 역할 | 설명 |
|---|---|---|
| 0 | 인플루언서 | 크리에이터/인플루언서 계정 |
| 1 | 비즈니스 | 브랜드/기업 계정 |
| 2 | 관리자 | 시스템 관리자 |
에러 응답
401 Unauthorized
토큰이 없거나 유효하지 않을 때 반환됩니다.
{
"status": 401,
"code": "UNAUTHORIZED",
"message": "인증이 필요합니다",
"data": null
}해결 방법:
- Authorization 헤더가 올바른지 확인
- 토큰이 만료되었다면
/auth/refreshToken으로 갱신 - Refresh Token도 만료되었다면 다시 로그인
403 Forbidden
권한이 부족할 때 반환됩니다.
{
"status": 403,
"code": "FORBIDDEN",
"message": "접근 권한이 없습니다",
"data": null
}공개 API
다음 엔드포인트는 인증 없이 접근 가능합니다:
POST /business/login- 비즈니스 로그인POST /ai/oauth/login- OAuth 로그인GET /health- 헬스 체크GET /ai/collab/landing- 랜딩 페이지 캠페인 목록
보안 권장사항
- 토큰 저장: 토큰은 안전한 저장소에 보관하세요 (예: HttpOnly 쿠키, Secure Storage)
- HTTPS 사용: 프로덕션 환경에서는 반드시 HTTPS를 사용하세요
- 토큰 노출 방지: 토큰을 URL 파라미터나 로그에 노출하지 마세요
- 자동 갱신: Access Token 만료 전에 미리 갱신하는 로직을 구현하세요