- google-auth-library로 Google ID Token 검증 (backend) - @react-oauth/google GoogleLogin 컴포넌트 (frontend) - gcsc.co.kr 도메인 자동 승인(ACTIVE), 기타 도메인 PENDING - 기존 ID/PW 사용자와 OAuth 사용자 동일 계정 체계 통합 - AdminView: 사용자 인증방식(Google/ID PW) 뱃지 표시 - AdminView: OAuth 자동 승인 도메인 설정 UI - deploy.yml: VITE_GOOGLE_CLIENT_ID 빌드 환경변수 추가 - nginx: Cross-Origin-Opener-Policy 헤더 추가 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
37 lines
903 B
JSON
Executable File
37 lines
903 B
JSON
Executable File
{
|
|
"name": "backend",
|
|
"version": "1.0.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "tsx watch src/server.ts",
|
|
"build": "tsc",
|
|
"start": "node dist/server.js",
|
|
"db:seed": "tsx src/db/seed.ts"
|
|
},
|
|
"dependencies": {
|
|
"bcrypt": "^6.0.0",
|
|
"better-sqlite3": "^11.9.1",
|
|
"cookie-parser": "^1.4.7",
|
|
"cors": "^2.8.5",
|
|
"express": "^4.21.2",
|
|
"express-rate-limit": "^8.2.1",
|
|
"google-auth-library": "^10.6.1",
|
|
"helmet": "^8.1.0",
|
|
"jsonwebtoken": "^9.0.3",
|
|
"pg": "^8.19.0"
|
|
},
|
|
"devDependencies": {
|
|
"@types/bcrypt": "^6.0.0",
|
|
"@types/better-sqlite3": "^7.6.12",
|
|
"@types/cookie-parser": "^1.4.10",
|
|
"@types/cors": "^2.8.17",
|
|
"@types/express": "^5.0.0",
|
|
"@types/helmet": "^0.0.48",
|
|
"@types/jsonwebtoken": "^9.0.10",
|
|
"@types/node": "^22.13.5",
|
|
"@types/pg": "^8.16.0",
|
|
"tsx": "^4.19.2",
|
|
"typescript": "^5.7.3"
|
|
}
|
|
}
|