인증
JsonPipe는 API 접근을 위해 세 가지 인증 방법을 지원합니다.
인증 방법
| 방법 | 헤더 | 용도 |
|---|---|---|
| JWT 토큰 | Authorization: Bearer <token> | 사용자 계정, 결제, 사용량 추적 |
| API 키 | X-API-Key: <key> | 서버 간 통합 |
| OAuth2 | 브라우저 리다이렉트 | Google 또는 GitHub 로그인 |
JWT 인증 (권장)
JWT 토큰은 사용자 계정의 기본 인증 방법입니다.
1. 계정 등록
curl -X POST https://api.jsonpipe.com/api/auth/register \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"password": "securepassword123"
}'
2. 로그인
curl -X POST https://api.jsonpipe.com/api/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"password": "securepassword123"
}'
3. 토큰 사용
모든 인증된 요청에 토큰을 포함:
curl -X POST https://api.jsonpipe.com/api/v1/generate \
-H "Content-Type: application/json" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
-d '{"request": "Gmail to Slack 알림"}'
토큰 만료
- 토큰은 7일 후 만료
- 만료 후 다시 로그인하여 새 토큰 발급
- 토큰을 안전하게 저장 (클라이언트 코드나 git에 절대 포함하지 않기)
API 키 인증
API 키는 서버 간 통합용입니다.
curl -X POST https://api.jsonpipe.com/api/v1/generate \
-H "Content-Type: application/json" \
-H "X-API-Key: your_api_key_here" \
-d '{"request": "RSS to Telegram 알림"}'
API 키는 Starter 이상 플랜에서 사용할 수 있습니다. 대시보드에서 키를 관리하세요.
OAuth2 인증
Google 또는 GitHub 계정으로 로그인할 수 있습니다. 다음 URL로 이동하여 OAuth 플로우를 시작합니다:
GET /api/auth/oauth/google
GET /api/auth/oauth/github
사용자는 제공자의 동의 화면으로 리다이렉트됩니다. 승인 후 JWT 토큰과 함께 리다이렉트됩니다.
연결된 계정 관리
GET /api/auth/oauth/accounts # 연결된 OAuth 계정 목록
DELETE /api/auth/oauth/:provider # 제공자 연결 해제
엔드포인트 인증 요구사항
| 엔드포인트 | JWT | API 키 | 공개 |
|---|---|---|---|
GET /health | - | - | 예 |
GET /api/billing/plans | - | - | 예 |
POST /api/auth/register | - | - | 예 |
POST /api/auth/login | - | - | 예 |
GET /api/auth/oauth/:provider | - | - | 예 |
GET /api/usage | 예 | - | - |
POST /api/billing/checkout | 예 | - | - |
POST /api/v1/generate | 예 | 예 | - |
POST /api/v1/deploy | 예 | 예 | - |
GET /api/v1/dashboard/* | 예 | - | - |
POST /api/v1/api-keys | 예 | - | - |
GET /api/v1/api-keys | 예 | - | - |
DELETE /api/v1/api-keys/:id | 예 | - | - |
보안 모범 사례
- 클라이언트 코드에 토큰 노출 금지 — 서버 측 API 호출 사용
- 토큰 안전하게 저장 — HTTP-only 쿠키 또는 암호화된 저장소 사용
- HTTPS만 사용 — 모든 API 호출은 HTTPS 사용
- API 키 교체 — 대시보드에서 정기적으로 키 재생성