Curso de FastAPI: Demostración de Sistema de Inicio de Sesión (Login) con Usuario y Contraseña

Posted by

FastAPI Curso: 139 Demostración del Sistema de Inicio de Sesion (Login) con Usuario y Contraseña

FastAPI Curso: 139 Demostración del Sistema de Inicio de Sesion (Login) con Usuario y Contraseña

En este demostración del sistema de inicio de sesión utilizando FastAPI, mostraremos cómo implementar un sistema de login que requiere un nombre de usuario y una contraseña.

Requisitos previos

Antes de comenzar, es necesario tener instalado FastAPI en tu entorno de desarrollo. También se recomienda tener conocimientos básicos de Python y APIs REST.

Implementación

A continuación se muestra un ejemplo básico de cómo implementar el sistema de inicio de sesión en FastAPI:

“`python
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel

app = FastAPI()

class User(BaseModel):
username: str
password: str

@app.post(“/login”)
def login(user: User):
if user.username == “admin” and user.password == “admin123”:
return {“message”: “Login successful”}
else:
raise HTTPException(status_code=401, detail=”Invalid credentials”)
“`

En este código, definimos un modelo de usuario utilizando la clase `BaseModel` de Pydantic. Luego, creamos una ruta `/login` que recibe un objeto de tipo `User` y verifica si el nombre de usuario y la contraseña son correctos. Si las credenciales son válidas, se devuelve un mensaje de inicio de sesión exitoso; de lo contrario, se lanza una excepción HTTP con el código de estado 401.

Pruebas

Para probar el sistema de inicio de sesión, puedes enviar una solicitud POST a la ruta `/login` con un objeto JSON que contenga el nombre de usuario y la contraseña:

“`json
{
“username”: “admin”,
“password”: “admin123”
}
“`

Si todo está configurado correctamente, deberías recibir una respuesta con el mensaje “Inicio de sesión exitoso”. Si las credenciales son incorrectas, recibirás un error con el código de estado 401 y el detalle “Credenciales inválidas”.

¡Esperamos que esta demostración te haya sido útil para implementar un sistema de inicio de sesión con FastAPI!