Manejo de la autenticación sin un nombre de usuario o contraseña únicos

2

Estoy trabajando en un proyecto y tengo que autenticar a un usuario que no tiene un nombre de usuario ('') o una contraseña (''). Hay usuarios y guest_users, pero un guest_user no tendrá que iniciar sesión explícitamente, sino que se les dará un nuevo usuario mediante POST a través de nuestra / api / route que está configurada.

Mi pregunta es, ¿sería útil OAuth / OAuth2 para esto? Algunas lecturas introductorias lo muestran como una forma de verificar el acceso a una aplicación de terceros (como iniciar sesión a través de Facebook), pero tiene una clave secreta, clave de consumidor, etc. ¿Podríamos guardar las claves con el usuario y autenticarnos de esa manera?

¿Hay otra manera? Actualmente estamos estudiando el uso de Passport.js, pero en realidad la pregunta es más general. Incluso podríamos lanzar nuestra propia solución si OAuth es un poco demasiado 'pesado' para esto, pero no queremos que un guest_user sea fácil de 'simular' como otro, simplemente eliminando su palabra / ID única

Gracias de antemano

    
pregunta BoscoJared 09.11.2015 - 05:15
fuente

1 respuesta

0

oAuth se ha diseñado para poder autenticar a un usuario frente a un servicio externo (además de otros extras, como obtener información útil sobre ese usuario desde la plataforma de autenticación). Así obtendrías la información que necesitas.

Dicho esto, se trata principalmente de una construcción de usuario final, que requiere una sesión interactiva.

Existen mecanismos derivados como JWT que podrían funcionar mejor en su caso (ya que menciona POST y API I cree que no habrá interactividad).

Pero simplemente podría generar tokens únicos a pedido con una gran entropía y usarlos para sesiones persistentes (es difícil llamar a eso "autenticación" ya que no tiene ningún desafío). Básicamente, se trata de un uso restringido de cookies web (puede aprovechar las bibliotecas que ya tiene para generarlas).

    
respondido por el WoJ 09.11.2015 - 14:42
fuente

Lea otras preguntas en las etiquetas