Obtenga más información sobre la autenticación FastAPI: domine las mejores prácticas para la autenticación de front-end y back-end

La autenticación y autorización de usuarios son componentes integrales al crear aplicaciones web modernas. FastAPI  proporciona una variedad de métodos para implementar la autenticación para garantizar que solo los usuarios autorizados puedan acceder a recursos específicos o realizar operaciones específicas. Este artículo presentará los métodos de autenticación en FastAPI, incluidos conceptos básicos, casos prácticos y algunos consejos y trucos.

Conceptos básicos de autenticación en FastAPI

Antes de comenzar a analizar métodos de autenticación específicos, primero comprendamos algunos conceptos básicos:

1. Autenticación  : la autenticación es el proceso de determinar la identidad de un usuario. Normalmente, los usuarios deben proporcionar credenciales (como nombre de usuario y contraseña) para autenticarse.

2. Autorización  : La autorización es el proceso de determinar si un usuario tiene permiso para realizar operaciones específicas o acceder a recursos específicos. Una vez que un usuario se autentica exitosamente, las reglas de autorización determinan las acciones que puede realizar.

3. Token : Token es un token que representa la identidad del usuario. Normalmente, el usuario recibe un token al iniciar sesión correctamente, que luego se incluye en un encabezado o parámetro de solicitud en cada solicitud posterior.

4.Middleware : el middleware es un fragmento de código que se ejecuta antes o después de procesar una solicitud y se puede utilizar para agregar lógica de procesamiento adicional, incluida la autenticación.

Métodos de autenticación en FastAPI

1.   Autenticación HTTP básica

La autenticación HTTP básica es uno de los métodos de autenticación más simples y requiere que el usuario proporcione un nombre de usuario y una contraseña. FastAPI puede usar base64módulos de Python para decodificar nombres de usuario y contraseñas en encabezados HTTP.

2. OAuth2.0

OAuth2.0 es un método de autenticación más complejo que permite a los usuarios autenticarse a través de servicios de terceros. FastAPI proporciona herramientas como OAuth2PasswordBearer, OAuth2PasswordRequestFormetc. para simplificar la implementación de OAuth2.0.

3. Middleware de autenticación personalizado

Si necesita una lógica de autenticación más personalizada, puede escribir middleware de autenticación personalizado. Esto le permite tener control total sobre el proceso de autenticación y manejarlo antes de cada solicitud.

Casos prácticos

Para demostrar el método de autenticación, a continuación se crea una  API simple basada en FastAPI , que incluye dos rutas: una ruta pública y una ruta que requiere autenticación. Usaremos la autenticación HTTP básica como método de autenticación y agregaremos comentarios detallados para cada ruta. Primero, asegúrese de que FastAPI y uvicorn estén instalados:

Ahora, creemos un  main.py archivo llamado con el siguiente contenido:

En el código anterior, creamos una aplicación FastAPI que contiene dos rutas. public_data La ruta es pública y no requiere autenticación. El enrutador  secure_data utiliza autenticación HTTP básica para la autenticación. Para ejecutar este ejemplo, utilice el siguiente comando:

Ahora puede probar rutas que requieren autenticación accediendo a ellas en un navegador o cliente API  http://localhost:8000/secure-data/ y proporcionando el nombre de usuario y la contraseña correctos. Al mismo tiempo, también puedes acceder  http://localhost:8000/ a probar rutas públicas sin autenticación.

Consejos, trucos y consideraciones

  • Utilice siempre HTTPS para proteger la transmisión de credenciales de usuario.
  • Al almacenar contraseñas, deben almacenarse utilizando hashes de contraseña en lugar de contraseñas de texto sin cifrar.
  • Administre y proteja cuidadosamente sus tokens de autenticación para evitar violaciones de seguridad.
  • Comprenda y siga las mejores prácticas para OAuth2.0 y otros protocolos de autenticación para garantizar la seguridad de las aplicaciones.

Cómo depurar la interfaz FastAPI

Puede utilizar la herramienta de interfaz Apifox para depurar, Apifox = Postman + Swagger + Mock + JMeter, Apifox admite interfaces de depuración  de Dubbo , http (s), WebSocket, Socket, gRPC  y otros protocolos, e integra  el complemento IDEA . Después de escribir la interfaz del servicio, puede utilizar Apifox para verificar la exactitud de la interfaz durante la fase de prueba. La interfaz gráfica facilita enormemente la eficiencia del lanzamiento del proyecto.

Si desea depurar rápidamente una interfaz, después de crear un nuevo proyecto, seleccione  "Modo de depuración" en el proyecto  , complete la dirección de la solicitud y luego envíe rápidamente la solicitud y obtenga el resultado de la respuesta. El caso práctico anterior se muestra en la cifra:

Resumir

FastAPI proporciona una variedad de métodos de autenticación flexibles, lo que le permite elegir el método que mejor se adapte a las necesidades de su aplicación. Desde autenticación HTTP básica hasta OAuth2.0 y middleware de autenticación personalizada, FastAPI proporciona potentes herramientas y soporte para crear aplicaciones web seguras.

Ampliación del conocimiento:

Enlaces de referencia:

  • Documentación oficial de FastAPI: FastAPI
  • Documentación oficial de OAuth2.0: OAuth 2.0 — OAuth
  • Documentación del módulo Python base64:

Supongo que te gusta

Origin blog.csdn.net/m0_71808387/article/details/132849085
Recomendado
Clasificación