David Ko commited on
Commit
51bb097
Β·
1 Parent(s): a8dbc72

Fix login redirect issue and enhance session management

Browse files
Files changed (1) hide show
  1. api.py +14 -2
api.py CHANGED
@@ -34,11 +34,14 @@ CORS(app) # Enable CORS for all routes
34
 
35
  # μ‹œν¬λ¦Ώ ν‚€ μ„€μ • (μ„Έμ…˜ μ•”ν˜Έν™”μ— μ‚¬μš©)
36
  app.config['SECRET_KEY'] = os.environ.get('SECRET_KEY', 'vision_llm_agent_secret_key')
 
 
37
 
38
  # Flask-Login μ„€μ •
39
  login_manager = LoginManager()
40
  login_manager.init_app(app)
41
  login_manager.login_view = 'login'
 
42
 
43
  # μ‚¬μš©μž 클래슀 μ •μ˜
44
  class User(UserMixin):
@@ -1123,9 +1126,18 @@ def login():
1123
  print(f"Login attempt: username={username}")
1124
 
1125
  if username in users and users[username].password == password:
1126
- login_user(users[username])
 
 
 
 
 
 
 
 
 
1127
  next_page = request.args.get('next')
1128
- if next_page:
1129
  return redirect(next_page)
1130
  return redirect('/')
1131
  else:
 
34
 
35
  # μ‹œν¬λ¦Ώ ν‚€ μ„€μ • (μ„Έμ…˜ μ•”ν˜Έν™”μ— μ‚¬μš©)
36
  app.config['SECRET_KEY'] = os.environ.get('SECRET_KEY', 'vision_llm_agent_secret_key')
37
+ app.config['SESSION_TYPE'] = 'filesystem'
38
+ app.config['PERMANENT_SESSION_LIFETIME'] = 3600 # μ„Έμ…˜ 유효 μ‹œκ°„ (초)
39
 
40
  # Flask-Login μ„€μ •
41
  login_manager = LoginManager()
42
  login_manager.init_app(app)
43
  login_manager.login_view = 'login'
44
+ login_manager.session_protection = 'strong'
45
 
46
  # μ‚¬μš©μž 클래슀 μ •μ˜
47
  class User(UserMixin):
 
1126
  print(f"Login attempt: username={username}")
1127
 
1128
  if username in users and users[username].password == password:
1129
+ # 둜그인 성곡 μ‹œ μ„Έμ…˜μ— μ‚¬μš©μž 정보 μ €μž₯
1130
+ user = users[username]
1131
+ login_user(user, remember=True)
1132
+ session['user_id'] = user.id
1133
+ session['username'] = username
1134
+ session.permanent = True
1135
+
1136
+ print(f"Login successful for user: {username}")
1137
+
1138
+ # λ¦¬λ””λ ‰μ…˜ 처리
1139
  next_page = request.args.get('next')
1140
+ if next_page and next_page.startswith('/'):
1141
  return redirect(next_page)
1142
  return redirect('/')
1143
  else: