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

Реализовывал ли с нуля авторизацию

Да, реализовывал. Обычно авторизация включает несколько ключевых компонентов:

  1. Регистрация – хеширование пароля (например, с bcrypt или argon2).
  2. Аутентификация – проверка логина/пароля, генерация JWT или сессии.
  3. Авторизация – проверка прав (например, через декораторы или middleware).

Пример на Flask с JWT:

python
from flask import Flask, request, jsonify
import jwt
import datetime
from functools import wraps

app = Flask(__name__)
SECRET_KEY = "your-secret-key"

def token_required(f):
@wraps(f)
def decorated(*args, **kwargs):
token = request.headers.get('Authorization')
if not token:
return jsonify({"error": "Token missing"}), 403
try:
data = jwt.decode(token, SECRET_KEY, algorithms=["HS256"])
except:
return jsonify({"error": "Invalid token"}), 403
return f(*args, **kwargs)
return decorated

@app.route('/login', methods=['POST'])
def login():
auth = request.json
if auth['username'] == 'admin' and auth['password'] == 'password':
token = jwt.encode({
'user': auth['username'],
'exp': datetime.datetime.utcnow() + datetime.timedelta(hours=1)
}, SECRET_KEY)
return jsonify({"token": token})
return jsonify({"error": "Invalid credentials"}), 401

@app.route('/protected')
@token_required
def protected():
return jsonify({"message": "Access granted"})

text

Важно: HTTPS, защита от CSRF, валидация ввода, хранение токенов в secure cookies. Для прода лучше использовать готовые решения (Django Auth, OAuth2, Firebase Auth).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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