Emita tokens de acceso al iniciar sesión
Firme un JWT y devuélvalo al cliente.
Emita tokens de acceso al iniciar sesión es una lección gratuita de Flask Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Flask Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Flask Academy incluye 4 lecciones en total.
El intercambio del inicio de sesión
Iniciar sesión es un intercambio: el cliente envía credenciales válidas y su servidor devuelve un access token firmado que puede usar en todas las llamadas posteriores.
Instalar la extensión
La biblioteca Flask-JWT-Extended se encarga de firmar y comprobar los tokens. Con una instalación mediante pip estará listo para crear tokens.
pip install flask-jwt-extendedEstablecer la clave de firma
Los tokens se firman con un secreto. Configure JWT_SECRET_KEY para que solo su servidor pueda producir tokens válidos. Manténgala fuera del código fuente.
app.config["JWT_SECRET_KEY"] = "change-me"Crear el JWTManager
Envuelva su aplicación en un JWTManager. Este objeto integra Flask-JWT-Extended con el procesamiento de solicitudes para que funcionen los asistentes.
from flask_jwt_extended import JWTManager
jwt = JWTManager(app)Una ruta para iniciar sesión
Añada una ruta POST en /login. Leerá el nombre de usuario y la contraseña enviados en el cuerpo de la solicitud.
@app.post("/login")
def login():
...Verificar primero las credenciales
No omita nunca esta comprobación: confirme que la contraseña coincide con su hash almacenado antes de emitir nada. Sin un inicio de sesión válido, no hay token.
Crear el token
Llame a create_access_token con una identidad, normalmente el id del usuario. Ese id se convierte en el claim subject del token.
from flask_jwt_extended import create_access_token
token = create_access_token(identity=user.id)Devolverlo como JSON
Devuelva el token en un cuerpo JSON. El cliente lo almacena y lo vuelve a enviar en las llamadas protegidas. 🔑
return {"access_token": token}, 200La identidad determina los claims
La identity que pasa es lo que leerán las solicitudes posteriores. Manténgala pequeña y estable, como un id de usuario numérico.
Añadir claims adicionales
¿Necesita incluir un rol o un plan en el token? Pase additional_claims para que los datos viajen con él y estén disponibles sin consultar la base de datos.
create_access_token(identity=uid, additional_claims={"role": "admin"})Gestionar los inicios de sesión fallidos
Si las credenciales son incorrectas, devuelva 401 Unauthorized y ningún token. Los errores claros y coherentes mantienen su API predecible.
return {"msg": "Bad credentials"}, 401Comprobación rápida
Recuerde qué llamada produce realmente el token.
Resumen
Verifique las credenciales, llame a create_access_token con el id del usuario y devuélvalo como JSON. Configure primero JWT_SECRET_KEY y un JWTManager. ✅
Aprende Python con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 30
- Lecciones
- 120
Preguntas frecuentes
¿La lección «Emita tokens de acceso al iniciar sesión» es gratis?
Sí — el texto completo de «Emita tokens de acceso al iniciar sesión» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Flask Academy, actualiza a CoddyKit PRO. El curso de Flask Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Emita tokens de acceso al iniciar sesión»?
Firme un JWT y devuélvalo al cliente. Practicas Flask Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Flask Academy?
No se requiere experiencia previa. Flask Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Emita tokens de acceso al iniciar sesión»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Flask Academy?
Sí. Cada lección de Flask Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Sesiones frente a tokens sin estado
- Emita tokens de acceso al iniciar sesión
- Proteja endpoints con jwt_required
- Tokens de actualización y caducidad