| ID | 라이선스 키 | 상태 | 메모 | 등록 기기 | 만료일시 | 관리 |
|---|---|---|---|---|---|---|
| 발급된 라이선스가 없습니다. | ||||||
| #{{ lic.id }} | {{ lic.licenseKey }} | {{ lic.status === 'active' ? '활성' : (lic.status === 'revoked' ? '정지됨' : lic.status) }} | {{ lic.memo }} | {{ lic.devices ? lic.devices.length : 0 }} / {{ lic.maxDevices }} | {{ formatDateTime(lic.expiresAt) }} |
|
선택된 라이선스 키:
{{ selectedLicenseForEmail ? selectedLicenseForEmail.licenseKey : '' }}
선택된 라이선스 키:
{{ selectedLicenseForExtend ? selectedLicenseForExtend.licenseKey : '' }}
{{ log.message }}
작업자/기기: {{ log.adminUser || 'System' }}| Machine GUID | OS | Hostname | App Version | 활성화 일시 |
|---|---|---|---|---|
| 등록된 기기가 없습니다. | ||||
| {{ dev.machineGuid }} | {{ dev.os }} | {{ dev.hostname }} | {{ dev.appVersion }} | {{ formatDateTime(dev.activatedAt) }} |
| 인증 일시 | 라이선스 키 | Machine GUID (기기) | 메시지 |
|---|---|---|---|
| 앱 인증 기록이 없습니다. | |||
| {{ formatDateTime(log.createdAt) }} | {{ log.licenseKey || (log.license && log.license.licenseKey) || 'N/A' }} | {{ log.adminUser }} | {{ log.message }} |
사용자가 라이선스 키를 입력하면 발생하는 API 요청
{{ JSON.stringify(testResult.register.data, null, 2) }}
앱을 켤 때마다 로컬에 저장된 토큰의 유효성을 체크
{{ JSON.stringify(testResult.verify.data, null, 2) }}
이 가이드는 실제 애플리케이션(C#, C++, 모바일 등)에서 백엔드 라이선스 서버와 통신하는 방법을 설명합니다.
사용자가 라이선스 키를 처음 입력했을 때, 혹은 토큰이 만료되어 재발급이 필요할 때 호출합니다.
POST /api/v1/license/registerapplication/json{
"license_key": "XXXX-XXXX-XXXX-XXXX",
"device": {
"machine_guid": "기기_고유_식별자(필수)",
"os": "Windows 11 (선택)",
"hostname": "DESKTOP-123 (선택)",
"app_version": "1.0.0 (필수)"
}
}
{
"status": "active",
"token": "eyJhbGciOiJIUzI... (매우 긴 JWT 문자열)",
"expires_at": "2024-03-22T10:00:00.000" // 토큰 만료 시간
}
token을 클라이언트 로컬(레지스트리 등)에 안전하게 저장해야 합니다.
앱이 실행될 때 로컬에 저장된 토큰을 서버에 보내어 현재 유효한 상태인지 검사합니다.
POST /api/v1/license/verifyapplication/json{
"token": "로컬에_저장해둔_JWT_문자열"
}
{
"valid": true,
"license_status": "active"
}
token이 있는지 확인valid: true -> 앱 정상 실행valid: false 이고 license_status: "invalid_token" (만료됨) -> 백그라운드에서 [1. 등록 API]를 다시 호출하여 토큰 갱신 시도valid: false 이고 license_status: "revoked" (관리자가 정지함) -> 앱 실행 차단 및 에러 메시지 노출