초기 커밋: 인증 서버 분리
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>
This commit is contained in:
99
README.md
Normal file
99
README.md
Normal file
@@ -0,0 +1,99 @@
|
||||
# 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. 환경 변수로 민감 정보 관리
|
||||
Reference in New Issue
Block a user