Estoy haciendo una API con Rails (solo API). La seguridad es muy importante para mí. Tengo 2 preguntas. 1-) Mantengo la identificación del usuario en la sesión [: authID], ¿es seguro usarlo así? 2-) ¿Necesito protección CSRF solo para api? Estoy usando Next.js para el cliente. Si es necesario, ¿cómo puedo?

respuesta

Q1. Mantengo la identificación del usuario en la sesión [: authID], ¿es seguro usarla así?

ANS : no es una buena práctica mantener las identificaciones de usuario en la sesión, ya que revela la estructura de su tabla (no completamente, pero aún así) como dónde comienza la clave principal de su tabla de usuario . En lugar de eso, puede usar la gema device-token-auth (los detalles se pueden encontrar aquí y aquí )

Q2. ¿Necesito protección CSRF solo para api?

ANS : la falsificación de solicitudes entre sitios o entre sesiones requiere que el usuario tenga un navegador y otro sitio web de confianza. Esto no es relevante para las API , ya que no se ejecutan en el navegador y no mantienen ninguna sesión. Por lo tanto, debe deshabilitar CSRF para las API. Puede consultar aquí para obtener más detalles.

Espero que el resumen te ayude.

Gracias