Cuatro métodos de autenticación comunes
Pruebe manualmente el servidor web debido a u otras herramientas de protocolo de red de texto sin formato. Este es un proceso engorroso, pero lo que se transmite a través de la red es legible por humanos con fines de diagnóstico.
Desventajas Aunque la autenticación básica es muy fácil de implementar, esta solución se basa en el supuesto de que la conexión entre el cliente y el servidor es segura y confiable. En particular, si no se utiliza un protocolo de seguridad de la capa de transporte como SSL/TLS, las claves y contraseñas transmitidas en texto claro pueden interceptarse fácilmente. Esta solución tampoco proporciona protección para la información devuelta por el servidor. Los navegadores existentes almacenan información de autenticación hasta que se cierra la pestaña o el navegador, o el usuario borra su historial. HTTP no proporciona una forma para que el servidor indique al cliente que descarte estas claves almacenadas en caché. Esto significa que el servidor no tiene una forma efectiva de cerrar la sesión del usuario sin cerrar el navegador.
Ventajas y desventajas
Desventajas de las cookies de sesión
(1) El método de autenticación se limita a su uso en el navegador. La cookie es un mecanismo del lado del navegador. Si las cookies no se pueden utilizar en el lado de la aplicación.
(2) Para lograr la coherencia global, será mejor que almacenemos la sesión en redis para su persistencia. En un entorno distribuido, es posible que necesitemos hacer una copia de seguridad en cada servidor, lo que ocupa mucho. de tiempo. de espacio de almacenamiento.
(3) El uso de cookies bajo protocolos distintos de HTTPS es vulnerable a ataques de falsificación de solicitudes entre sitios CSRF.
El token es un token. Cuando el navegador accede al servidor por primera vez, emitirá un token. Después de eso, cada vez que el navegador trae este token para acceder al servidor, verificará si el token. es válido. Válido, siempre que el servidor pueda descifrar el token, la solicitud es legítima. Generalmente, el token consta de información del usuario, marca de tiempo y firma cifradas mediante un algoritmo hash.
Ventajas:
(1) La autenticación mediante token no se limita a las cookies, lo que permite que este método de autenticación admita una variedad de clientes, no solo navegadores. y no están afectados por la política del mismo origen.
(2) Los ataques CSRF se pueden evitar sin utilizar cookies.
(3) No es necesario almacenar el token. El token ya contiene información del usuario. El lado del servidor se vuelve sin estado. El lado del servidor solo necesita verificar si el token es legal de acuerdo con las reglas definidas. Esto también hace que el token sea más escalable.
Desventajas:
(1) El consumo de cifrado y descifrado hace que la autenticación de token consuma más rendimiento que las cookies de sesión.
(2) el token es mayor que sessionId y ocupa más ancho de banda.
Dado que la aplicación no puede almacenar cookies sin un navegador, surgió OAuth y permite a los usuarios autorizar a sitios web de terceros a acceder a su información almacenada en otros proveedores de servicios. La diferencia con los métodos de autorización anteriores es que la autorización OAuth no permitirá. terceros accedan a la información de la cuenta del usuario (como el nombre de usuario y la contraseña), es decir, un tercero puede solicitar autorización para obtener los recursos del usuario sin utilizar el nombre de usuario y la contraseña del usuario, por lo que OAuth es seguro.