Estoy buscando una forma de crear una URL que permita a un usuario iniciar sesión en nuestra aplicación sin proporcionar un nombre de usuario y contraseña.
Hemos creado una API que está protegida mediante OAuth 2.0. Quiero aprovechar esto y crear la posibilidad de OBTENER una URL cuando proporcione un token de OAuth (el token está vinculado a un usuario) que inicia sesión automáticamente en el usuario. Creo que esta URL debe ser válida por 1 vez y solo para un cierto lapso de tiempo.
Podría generar un GUID o algún tipo de cadena aleatoria, guardar esto en la base de datos y eliminarlo después de, por ejemplo, 10 segundos. Luego, cuando alguien solicita la URL de inicio de sesión con un GUID, compruebo si el GUID está en la base de datos y configuro la cookie de autenticación para el usuario. Posiblemente podría ir un paso más allá al verificar si el usuario alguna vez inició sesión en esta máquina configurando alguna cookie y validando la presencia de la cookie una vez que se usa la URL.
Me pregunto si esto es seguro y si existen otras soluciones comunes.