Встречается на собеседованиях • сегодня

Как реализовать авторизацию

Для авторизации в Python можно использовать библиотеки Flask-Login (для веба) или стандартные механизмы вроде JWT. Пример с Flask-Login:

python
from flask import Flask, redirect, url_for
from flask_login import LoginManager, UserMixin, login_user, login_required

app = Flask(__name__)
app.secret_key = 'your_secret_key'
login_manager = LoginManager(app)

class User(UserMixin):
def init(self, id):
self.id = id

@login_manager.user_loader
def load_user(user_id):
return User(user_id)

@app.route('/login')
def login():
user = User(1) # Обычно берется из БД
login_user(user)
return redirect(url_for('protected'))

@app.route('/protected')
@login_required
def protected():
return "Авторизованный доступ"

text

Для API часто используют JWT (JSON Web Tokens) с библиотекой `PyJWT`:
```python
import jwt
from datetime import datetime, timedelta

secret = 'secret_key'
payload = {'user_id': 123, 'exp': datetime.utcnow() + timedelta(hours=1)}
token = jwt.encode(payload, secret, algorithm='HS256')

Ключевые моменты:

  • Храните пароли только в хешированном виде (bcrypt)
  • Используйте HTTPS
  • Для веб-приложений добавляйте CSRF-защиту
  • Ограничивайте время жизни токенов
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы