Glowb Dev Docs
시작하기

인증

JWT 토큰 기반 인증 방법 가이드

인증

Glowb API는 JWT (JSON Web Token) 기반 인증을 사용합니다. 모든 보호된 엔드포인트에 접근하려면 유효한 Access Token이 필요합니다.

토큰 종류

토큰유효 기간용도
Access Token14일API 요청 인증
Refresh Token14일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
}

해결 방법:

  1. Authorization 헤더가 올바른지 확인
  2. 토큰이 만료되었다면 /auth/refreshToken으로 갱신
  3. 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 - 랜딩 페이지 캠페인 목록

보안 권장사항

  1. 토큰 저장: 토큰은 안전한 저장소에 보관하세요 (예: HttpOnly 쿠키, Secure Storage)
  2. HTTPS 사용: 프로덕션 환경에서는 반드시 HTTPS를 사용하세요
  3. 토큰 노출 방지: 토큰을 URL 파라미터나 로그에 노출하지 마세요
  4. 자동 갱신: Access Token 만료 전에 미리 갱신하는 로직을 구현하세요

On this page