Files
cclabel-auth-server/README.md
시골약사 06d0098a43 초기 커밋: 인증 서버 분리
0bin-label-app 프로젝트의 auth 폴더에서 별도 리포지토리로 분리.

Flask 기반 로그인 인증 서버:
- POST /api/login: 클라이언트 로그인 API
- GET /api/health: 서버 상태 확인
- /admin: 관리자 웹 페이지
- SQLite 기반 사용자 및 로그인 기록 저장

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 08:57:55 +09:00

100 lines
1.8 KiB
Markdown

# 0bin Label App - 인증 서버
Flask 기반 인증 서버 (포트: 8898)
## 설치
```bash
cd auth
pip install -r requirements.txt
```
## 실행
```bash
python app.py
```
서버가 `http://0.0.0.0:8898`에서 시작됩니다.
## 기능
### 1. 클라이언트 인증 API
- **엔드포인트**: `POST /api/login`
- **요청**:
```json
{
"username": "test",
"password": "test"
}
```
- **응답 (성공)**:
```json
{
"success": true,
"message": "로그인 성공",
"username": "test"
}
```
- **응답 (실패)**:
```json
{
"success": false,
"message": "아이디 또는 비밀번호가 올바르지 않습니다"
}
```
### 2. Admin 웹 페이지
- **URL**: `http://localhost:8898/admin`
- **계정**: `admin` / `admin1234`
- **기능**:
- 사용자 목록 조회
- 로그인 기록 조회 (최근 50개)
- 통계 확인
## 기본 계정
### 클라이언트 계정
- 아이디: `test`
- 비밀번호: `test`
### Admin 계정
- 아이디: `admin`
- 비밀번호: `admin1234`
## 리버스 프록시 설정
외부에서 `login.0bin.in`으로 접근하려면 Nginx 등을 사용하여 리버스 프록시를 설정하세요.
```nginx
server {
listen 80;
server_name login.0bin.in;
location / {
proxy_pass http://localhost:8898;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
```
## 데이터베이스
- SQLite (`auth_db.sqlite`)
- 자동으로 생성됨
- 테이블:
- `users`: 사용자 정보
- `login_logs`: 로그인 기록
## 보안
**주의**: 프로덕션 환경에서는 다음을 변경하세요:
1. `app.config['SECRET_KEY']` 변경
2. Admin 계정 비밀번호 변경
3. HTTPS 사용
4. 환경 변수로 민감 정보 관리