- 넥슨 OAuth 로그인 제거 (Redis, 세션, User 모델 등) - 캐릭터 닉네임 입력 → API 키로 조회하는 방식으로 변경 - 관리자 페이지 추가 (/admin?key=<NEXON_API_KEY>) - 보스 선택 UI를 3단 레이아웃(캐릭터/보스/결과)으로 리디자인 - 캐릭터 및 보스 선택 데이터 localStorage 저장 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
28 lines
708 B
JavaScript
28 lines
708 B
JavaScript
import { Router } from 'express';
|
|
|
|
const router = Router();
|
|
|
|
// 관리자 인증 미들웨어
|
|
function requireAdmin(req, res, next) {
|
|
const key = req.headers['x-admin-key'];
|
|
if (!key || key !== process.env.NEXON_API_KEY) {
|
|
return res.status(403).json({ error: '접근 권한이 없습니다' });
|
|
}
|
|
next();
|
|
}
|
|
|
|
// 관리자 키 검증
|
|
router.post('/verify', (req, res) => {
|
|
const { key } = req.body;
|
|
if (key === process.env.NEXON_API_KEY) {
|
|
return res.json({ verified: true });
|
|
}
|
|
res.status(403).json({ error: '유효하지 않은 키입니다' });
|
|
});
|
|
|
|
// 관리자 API에 미들웨어 적용
|
|
router.use(requireAdmin);
|
|
|
|
// TODO: 보스 관리 API 추가 예정
|
|
|
|
export default router;
|