Se tiene que desarrollar una API segura y eficiente es crucial para cualquier aplicación web moderna. Un componente fundamental es la autenticación de usuarios. Esta publicación se enfoca en crear una API con FastAPI que gestione el registro y la autenticación de usuarios. La API debe permitir a los usuarios registrarse con un correo electrónico y contraseña, verificar sus credenciales durante el inicio de sesión, y proporcionar un token de acceso JWT para las sesiones autenticadas. El sistema debe ser robusto y proteger contra accesos no autorizados.
from fastapi import FastAPI, Depends, HTTPException, status
from fastapi.security import OAuth2PasswordBearer, OAuth2PasswordRequestForm
from jose import JWTError, jwt
from passlib.context import CryptContext
app = FastAPI()
@app.post("/token")
async def login(form_data: OAuth2PasswordRequestForm = Depends()):
user = authenticate_user(fake_users_db, form_data.username, form_data.password)
if not user:
raise HTTPException(
status_code=status.HTTP_401_UNAUTHORIZED,
detail="Incorrect username or password",
headers={"WWW-Authenticate": "Bearer"},
)
access_token = create_access_token(
data={"sub": user.username}
)
return {"access_token": access_token, "token_type": "bearer"}
No hay comentarios.:
Publicar un comentario