Colección de citas famosas - Colección de consignas - Implementación de inicio de sesión frontal

Implementación de inicio de sesión frontal

Cuatro formas

Razones para la aparición de cookies: el protocolo HTTP no tiene estado. Se establecerá un nuevo enlace con cada solicitud y el enlace se desconectará cuando finalice la solicitud. La ventaja es que puede La desventaja de guardar recursos de enlace es que no puede guardar el estado del usuario. La aparición de las cookies viene a solucionar este problema.

Las cookies se almacenan en el navegador y se pueden configurar a través de Js y el campo de respuesta set-cookie.

Limitaciones de las cookies:

Con las cookies, el servidor puede obtener información del cliente. Si es necesario verificar la información, también se requiere una sesión.

Después de recibir la solicitud del cliente, el servidor abrirá un espacio de memoria en el servidor para almacenar la sesión.

Después de iniciar sesión por primera vez, esta cookie se transportará la próxima vez que la visite. el usuario inicia sesión en función del ID de sesión (para determinar si el ID de sesión es coherente con el ID de sesión guardado en el servidor, si hay un registro de este ID de sesión o si el registro es válido)

Cuando el cliente El navegador accede al servidor, el servidor registra la información del cliente en el servidor de alguna forma. Esta es la sesión. Cuando el navegador del cliente vuelve a visitarlo, solo necesita encontrar el estado del cliente en la sesión.

Token es una cadena generada por el servidor como un token solicitado por el cliente. Después de iniciar sesión por primera vez, el servidor generará un Token y lo devolverá al cliente. Cuando el cliente visite posteriormente, solo necesita traer este Token para la autenticación de identidad

Desventajas

JWT (Json Web Token)

El servidor no necesita almacenar el Token. Entonces, ¿cómo verifica el servidor si el Token pasado por el cliente es válido?

Respuesta:

El token no es una cadena desordenada, sino una cadena unida mediante varios algoritmos

La parte del encabezado especifica qué es este token. El algoritmo de firma utilizado

La parte de carga útil indica la intención de este JWT

La parte de firma es la firma del JWT, principalmente para evitar que el JWT sea manipulado a voluntad

Hay dos pasos en la parte de la firma

Uno:

Dos:

El Token final se calcula de la siguiente manera:

El inicio de sesión único se refiere a La empresa construirá un centro de certificación público. La certificación de todos los productos de la empresa se puede completar en este centro de certificación después de que el centro de certificación certifique un producto. certificado nuevamente al acceder a otros productos.

En este momento, dado que a.com ha iniciado sesión con información de cookies, el lado del servidor se autentica directamente con éxito.

En este momento, dado que el centro de certificación tiene cookies que se han iniciado antes, no es necesario volver a ingresar la contraseña de la cuenta y comenzar directamente desde el cuarto paso.

En. Actualmente, hemos completado el inicio de sesión único. Bajo la administración del mismo centro de certificación, varios productos pueden compartir el estado de inicio de sesión.

Ahora debemos considerar cerrar sesión, es decir: si cierra sesión en un producto, ¿cómo puede cerrar sesión en otros productos?

El principio no es difícil, de hecho, cuando trae el ticket para solicitar el centro de certificación, puede solicitar la API de cierre de sesión del centro de certificación.

Cuándo un producto Cuándo c. cerrar sesión en com

sso es un sistema de verificación centralizado. Al realizar una solicitud dentro de su proyecto, envíe una solicitud a SSO y le dará un token, que puede colocar en la memoria caché del navegador y que se llevará en el encabezado de la solicitud cuando realice una solicitud. Igual que otras interfaces de autenticación. Lo bueno es que se puede usar una cuenta para iniciar sesión en diferentes sistemas, porque diferentes proyectos pueden usar este token. Y a través de sso para administrar centralmente parte de la información del usuario, puede obtener información del usuario fácilmente.

Tome WeChat como ejemplo