¿Cómo cookie de autenticación basada en el trabajo?

Alguien puede darme una descripción paso a paso de cómo cookie de autenticación basada en las obras? Nunca he hecho nada con la autenticación o las cookies. Lo que hace que el navegador tiene que hacer? Lo que hace el servidor necesita hacer? En qué orden? ¿Cómo podemos mantener las cosas seguras?

He estado leyendo acerca de los diferentes tipos de autenticación y acerca de las cookies, pero me gustaría una descripción básica de cómo usar los dos juntos – sólo he leído que a menudo se utilizan juntos, pero no podía encontrar una descripción de cómo.

InformationsquelleAutor Mastid | 2013-07-21

3 Kommentare

  1. 144

    Una cookie es básicamente un elemento en un diccionario. Cada elemento tiene una clave y un valor. Para la autenticación, la clave podría ser algo así como ‘nombre de usuario’ y el valor será el nombre de usuario. Cada vez que usted realiza una solicitud a un sitio web, su navegador se incluyen las cookies en la solicitud, y el host de servidor de verificación de las cookies. Para la autenticación se puede realizar automáticamente como que.

    Para establecer una cookie, usted sólo tiene que añadir a la respuesta que el servidor envía de vuelta después de las solicitudes. El navegador, a continuación, agregue la cookie sobre la recepción de la respuesta.

    Hay diferentes opciones que puede configurar para que la cookie lado del servidor, como los tiempos de vencimiento o cifrado. Una cookie cifrada se refiere a menudo como una firma de cookie. Básicamente el servidor encripta la clave y el valor en el elemento de diccionario, de modo que sólo el servidor puede hacer uso de la información. Entonces cookie estaría seguro.

    Un navegador guardar las cookies establecidas por el servidor. En el encabezado HTTP de cada una de las peticiones del navegador hace que a ese servidor, agregar las galletas. Sólo añadir cookies para los dominios que se establecen. Example.com puede establecer una cookie y también agregar opciones en el encabezado HTTP para que los navegadores para enviar la cookie de vuelta a los subdominios, como sub.example.com. Sería inaceptable que un navegador para que siempre envía cookies para un dominio diferente.

    • Lo que yo entiendo es que el navegador es capaz de enviar la cookie de vuelta para el mismo dominio. En relación a que el navegador de tomar subdominio en cuenta a la hora de diferenciar entre dos dominios?
    • Puede establecer opciones en el encabezado HTTP de cómo un navegador se encarga de los subdominios.
  2. 249

    Me doy cuenta de que esto es años de retraso, pero pensé que podría ampliar Conor respuesta y añadir un poco más a la discusión.

    Alguien puede darme una descripción paso a paso de cómo cookie de autenticación basada en las obras? Nunca he hecho nada con la autenticación o las cookies. Lo que hace que el navegador tiene que hacer? Lo que hace el servidor necesita hacer? En qué orden? ¿Cómo podemos mantener las cosas seguras?

    Paso 1: el Cliente > la Firma

    Antes que nada, el usuario tiene que registrarse. El cliente envía una petición HTTP al servidor que contiene su nombre de usuario y contraseña.

    Paso 2: el Servidor > Manejo de registrarse

    El servidor recibe la petición y el hash de la contraseña antes de almacenar el nombre de usuario y contraseña en la base de datos. De esta manera, si alguien obtiene acceso a su base de datos no van a ver a su real de los usuarios contraseñas.

    Paso 3: el Cliente > inicio de sesión de Usuario

    Ahora el usuario inicia la sesión. Él/ella proporciona su nombre de usuario/contraseña y otra vez, este es publicado como una petición HTTP al servidor.

    Paso 4: Server > Validación de inicio de sesión

    El servidor busca el nombre de usuario en la base de datos de hashes de los suministrados contraseña de inicio de sesión, y los compara con los anteriormente hash de la contraseña en la base de datos. Si no echa un vistazo, podemos negarles el acceso por el envío de un código de estado 401 y el final de la solicitud.

    Paso 5: Server > Generación del token de acceso

    Si todo sale bien, vamos a crear un token de acceso, que identifica la sesión del usuario. Todavía en el servidor, podemos hacer dos cosas con el token de acceso:

    1. Almacenar en la base de datos asociada con el usuario
    2. Adjuntarlo a una respuesta de la galleta para que se devuelve al cliente. Asegúrese de establecer una fecha de caducidad/tiempo límite de la sesión del usuario

    De ahora en adelante, las cookies que se adjunta a cada solicitud (y la respuesta) realizadas entre el cliente y el servidor.

    Paso 6: Cliente > Hacer peticiones de página

    De nuevo en el lado del cliente, ahora estamos conectados. Cada vez que el cliente realiza una solicitud para una página que requiere de la autorización (es decir, no necesita estar conectado), el servidor obtiene el token de acceso de la cookie y comprueba contra la que está en la base de datos asociada con el usuario. Si se comprueba, se concede el acceso.

    Esto debe empezar. Asegúrese de desactivar las cookies al cerrar la sesión!

    • Gracias por la descripción. Me pregunto cómo se hace token de acceso proporciona seguridad? Puede un atacante si roba la cookie, se presentan como una autentica sesión del usuario? O que está protegida por SSL?
    • SSL protege la interceptación durante las peticiones/respuestas, pero un atacante podría tener acceso a sus cookies en los extremos (por ejemplo, su navegador). Teóricamente, podrían plantear como un usuario conectado hasta que la cookie expire. Digo «teóricamente» porque la puesta en marcha de arriba no manejar eso. En la implementación, el atacante tendrá acceso hasta que el token de acceso en la base de datos se actualiza (es decir, la siguiente inicio de sesión).
    • Usted podría invalidar el token de acceso al vencimiento de ti mismo, tal vez con una «fecha de caducidad» en su base de datos. O, usted podría considerar el uso de JSON Web de Tokens (JWT), que son como los tokens de acceso, pero se puede manejar token de caducidad, entre otras cosas. Más sobre JWT aquí. Un atacante todavía tendrá acceso a su cuenta durante breves períodos de tiempo si tienen el token de acceso/JWT, por lo que también debe proteger los endpoints.
    • Me tomó tiempo para decir gracias! Gracias por tu explanantion
    • Muy claro y útil! Gracias!
    • usted menciona que la implementación no soporta el escenario en el cual el atacante obtiene acceso a la cookie o token. ¿Cómo pudo escenarios ser manejado?
    • puede usted dar por favor un ejemplo de código en java?

  3. 14

    Cookie De Autenticación Basada En

    Cookies en función de Autenticación funciona normalmente en estos 4 pasos-

    1. El usuario debe proporcionar un nombre de usuario y contraseña en el formulario de inicio de sesión y hace clic en iniciar Sesión.
    2. Después de efectuarse la solicitud, el servidor de validar el usuario en el backend, mediante la consulta en la base de datos. Si la solicitud es válida, se creará una sesión mediante el uso de la información de usuario que se recuperan de la base de datos y los almacena, para cada período de sesiones, un identificador único llamado Identificador de sesión se crean de forma predeterminada Identificador de sesión se le dará al cliente a través del Navegador.
    3. Navegador presentará este Identificador de sesión en cada una de las solicitudes, el IDENTIFICADOR de sesión es verificado contra la base de datos, en base a este identificador de sesión del sitio web será identificar la sesión pertenecientes a la cual el cliente y, a continuación, dar acceso a la solicitud.

    4. Una vez que el usuario cierra la sesión de la aplicación, la sesión se destruye tanto del lado cliente y del lado del servidor.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea