23 lines
821 B
Python
23 lines
821 B
Python
from flask import Blueprint, request, jsonify, current_app
|
|
import datetime
|
|
import jwt
|
|
|
|
login = Blueprint('login', __name__)
|
|
|
|
@login.route('/login', methods=['POST'])
|
|
def login_view():
|
|
data = request.get_json()
|
|
username = data.get('username')
|
|
password = data.get('password')
|
|
|
|
# Aquí se validan las credenciales (en este caso un ejemplo simple)
|
|
if username == 'admin' and password == 'password':
|
|
# Generar token
|
|
token = jwt.encode({
|
|
'username': username,
|
|
'exp': datetime.datetime.now(datetime.timezone.utc) + datetime.timedelta(hours=1)
|
|
}, current_app.config['SECRET_KEY'], algorithm='HS256') # Usamos current_app para acceder a la configuración
|
|
return jsonify({'token': token})
|
|
|
|
return jsonify({'message': 'Credenciales inválidas'}), 401
|