Enlaces de inicio de sesión instantáneos para usuarios de sitios de terceros confiables

1

Soy propietario de la aplicación web "A" y quiero trabajar con un servicio de terceros "X". El usuario "Alicia" tiene cuentas en ambas plataformas. La aplicación A conoce el ID de usuario de alice en X, pero a X no le importa que Alice esté en A o no.

Quiero proporcionar el servicio X con un mecanismo fácil de implementar que le permitiría a Alice hacer clic en un enlace cuando haya iniciado sesión en X y, cuando aún no haya iniciado sesión, iniciar sesión en su cuenta en la aplicación A, dado que A Ya conoce a Alicia, por supuesto.

En su mayor parte, confío en el servicio X en este escenario. Así que estaba pensando en darles una clave secreta con la que puedan generar un token JWT de corta duración. La aplicación A solo puede verificar ese token e iniciar sesión en su cuenta.

¿Hay problemas con esta idea o alternativas obvias? Pensé en OAuth, pero eso significaría que el servicio X debe convertirse en un proveedor de OAuth, al que no deben o no deben llegar a ser. Tampoco necesito acceder a ninguno de los datos de Alice en X ni comprobar su nombre ni nada.

    
pregunta webjunkie 21.07.2016 - 17:50
fuente

1 respuesta

1

JWT es una forma razonable de hacer esto, al igual que OpenID o OAuth (con OAuth, lo que está haciendo es crear un proveedor que verificará el ID de usuario). Trate de usar las bibliotecas estándar tanto como sea posible; es realmente fácil obtener Tokens incorrectos (habilitando ataques de repetición y similares). Además, todas las comunicaciones deben estar cifradas (TLS).

    
respondido por el crovers 21.07.2016 - 18:57
fuente

Lea otras preguntas en las etiquetas