06d0098a43a128fd3b3760a66a6cc3d75cf16246
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>
0bin Label App - 인증 서버
Flask 기반 인증 서버 (포트: 8898)
설치
cd auth
pip install -r requirements.txt
실행
python app.py
서버가 http://0.0.0.0:8898에서 시작됩니다.
기능
1. 클라이언트 인증 API
- 엔드포인트:
POST /api/login - 요청:
{ "username": "test", "password": "test" } - 응답 (성공):
{ "success": true, "message": "로그인 성공", "username": "test" } - 응답 (실패):
{ "success": false, "message": "아이디 또는 비밀번호가 올바르지 않습니다" }
2. Admin 웹 페이지
- URL:
http://localhost:8898/admin - 계정:
admin/admin1234 - 기능:
- 사용자 목록 조회
- 로그인 기록 조회 (최근 50개)
- 통계 확인
기본 계정
클라이언트 계정
- 아이디:
test - 비밀번호:
test
Admin 계정
- 아이디:
admin - 비밀번호:
admin1234
리버스 프록시 설정
외부에서 login.0bin.in으로 접근하려면 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: 로그인 기록
보안
주의: 프로덕션 환경에서는 다음을 변경하세요:
app.config['SECRET_KEY']변경- Admin 계정 비밀번호 변경
- HTTPS 사용
- 환경 변수로 민감 정보 관리
Description
Languages
HTML
59%
Python
41%