Vapid 공개키 조회

작성자: admin 작성일: 2025-07-08
API Endpoint

GET /api/push/vapid-key

서비스의 VAPID 공개 키를 조회합니다. 클라이언트에서 푸시 구독을 생성할 때 필요한 공개 키를 반환합니다.
엔드포인트: GET https://api.pushmanager.kr/api/push/vapid-key
GET /api/push/vapid-key
X-API-Key: <서비스-API-키>
Origin: <등록된-도메인>

Parameters

이 엔드포인트는 추가 파라미터가 필요하지 않습니다. 인증 헤더만으로 요청할 수 있습니다.

Discussion

VAPID(Voluntary Application Server Identification) 공개 키는 브라우저에서 푸시 구독을 생성할 때 필요한 인증 정보입니다. 이 키를 사용하여 사용자의 브라우저에서 navigator.serviceWorker.ready.then(registration => registration.pushManager.subscribe()) 메서드를 호출할 수 있습니다.
보안: 이 공개 키는 클라이언트에 노출되어도 안전합니다
사용 목적: 브라우저 푸시 구독 생성 시에만 사용
인증: 유효한 X-API-Key 헤더와 Origin 검증 필요

응답 형식

성공 응답 (200 OK)

{
  "success": true,
  "data": {
    "vapidPublicKey": "BGtFqB7V9OZFKv7yZj8r5z6KcGqKh...",
    "siteName": "내 웹사이트"
  }
}

클라이언트 사용 예시

// 1. VAPID 공개 키 조회
const response = await fetch('/api/push/vapid-key', {
  headers: {
    'X-API-Key': 'your-api-key'
  }
});
const { data } = await response.json();

// 2. 푸시 구독 생성
const registration = await navigator.serviceWorker.ready;
const subscription = await registration.pushManager.subscribe({
  userVisibleOnly: true,
  applicationServerKey: data.vapidPublicKey
});

관련 API

문서 검색