Colección de citas famosas - Consulta de diccionarios - Manejo de tokens de inicio de sesión único

Manejo de tokens de inicio de sesión único

La seguridad de la interfaz API es principalmente para garantizar que los datos no sean manipulados ni llamados repetidamente. El plan de implementación se diseña principalmente en torno a tres mecanismos: token, marca de tiempo y firma.

1. Mecanismo de autorización del token

Después de que el usuario inicia sesión con el nombre de usuario y la contraseña, el servidor devuelve un token al cliente (debe ser único y poder identificarse mediante UUID y dispositivo local), almacene el Token-UserId en el servidor de caché en forma de un par clave-valor (usamos Redis) y establezca el tiempo de vencimiento. El servidor verifica el token después de recibir la solicitud. Si el token no existe, la solicitud no es válida. El token es el certificado del cliente para acceder al servidor.

2. Mecanismo de tiempo de espera de la marca de tiempo

El usuario lleva la marca de tiempo de la hora actual en cada solicitud y el servidor compara la marca de tiempo con la hora actual después de recibir la solicitud. Si la diferencia horaria es mayor que un tiempo determinado (por ejemplo, 30 segundos), la solicitud se considera inválida. El mecanismo de tiempo de espera de la marca de tiempo es un medio eficaz para evitar llamadas repetidas y captura de datos.

Por supuesto, a lo que se debe prestar atención aquí es a garantizar que la "hora actual" del cliente y el servidor sea consistente. El método de alineación que adoptamos es que cuando el cliente se conecta al servidor por primera vez, solicita una interfaz para obtener la hora actual del servidor A1 y luego realiza un cálculo de diferencia con la hora actual del cliente B1 (A1-B1 = AB) para obtener la diferencia AB, y luego Cliente,

3.Mecanismo de firma API

Utilice el algoritmo MD5 para cifrar los "parámetros API solicitados" + "marca de tiempo" + "sal". Los datos cifrados son esta firma solicitada. Luego de recibir la solicitud, el servidor obtiene la firma mediante el mismo algoritmo y la compara con la firma actual. Si son diferentes, significa que los parámetros han sido cambiados y se devolverá directamente un ID de error. El mecanismo de firma garantiza que los datos no puedan ser manipulados.

4. Medidas preventivas

5. Resumen de seguridad y protección

Bajo el mecanismo anterior,

Si alguien secuestra la solicitud, modifíquela. Sin los parámetros en la solicitud, la firma no se aprobará;

Si alguien usa una URL secuestrada para realizar ataques de DOS y captura de datos, solo puede usarla durante 30 segundos como máximo;

Si la firma ¿Qué debo hacer si se filtra el algoritmo? La posibilidad es muy pequeña, porque aquí sólo conocemos el valor de "sal".