토큰 하나로,
신뢰할 수 있는 접근을.
"Your key to trusted access."
프레임워크 없는 순수 모던 PHP REST API. 검증된 PSR 표준 라이브러리를 조합해 JWT 발급·검증과 인가(스코프)를 처리합니다. 암호화·서명 같은 보안 핵심은 직접 구현하지 않고 신뢰받는 라이브러리에 위임합니다.
# 액세스 토큰 발급
POST /api/v1/token
{
"grant_type": "client_credentials",
"client_id": "aicura_console",
"client_secret": "••••••••••••",
"scope": "reports:read hospitals:write"
}
# 응답 (200 OK)
{
"access_token": "eyJhbGciOiJIUzI1NiIs...",
"token_type": "Bearer",
"expires_in": 900,
"refresh_token": "8f3a9c1e..."
}
Endpoints
핵심 엔드포인트 4종
POST
/api/v1/token
client_credentials·password 그랜트로 액세스·리프레시 토큰 발급.
POST
/api/v1/token/refresh
리프레시 토큰 회전(rotation)과 함께 새 액세스 토큰 발급.
GET
/api/v1/token/introspect
서명·만료·알고리즘(alg) 고정 검증 후 클레임·스코프 반환.
POST
/api/v1/token/revoke
블랙리스트 등록으로 즉시 무효화(로그아웃 대응).
GET
/api/v1/jwks.json
RS256 서비스 간 검증을 위한 공개키 세트(JWKS) 제공.
GET
/api/v1/health
가동 상태·서명 키 로테이션 시각 확인용 헬스체크.
스코프(Scope) 예시
| 스코프 | 설명 |
|---|---|
| reports:read | AI 일일 리포트 조회 권한 |
| hospitals:write | 병원(광고주) 정보 등록·수정 권한 |
| licenses:issue | 라이선스 발급·회수 권한(AILicet 연동) |
| admin | 전체 스코프 — 운영자 전용 |
검증된 스택 위임
lcobucci/jwt
PSR-7
PSR-15
HS256 / RS256
PHPStan lv.8
서명·암호화 로직은 직접 구현하지 않고 신뢰받는 라이브러리에 위임하며, 알고리즘(alg)을 명시적으로 고정해 alg:none 우회를 차단합니다.