Tengo una aplicación que tiene su propio microservicio oauth para emitir tokens de acceso. El flujo se ejecuta de la siguiente manera:
- El usuario ingresa el nombre de usuario y la contraseña para registrarse, lo que hace que las llamadas a API usuario-microservicio
- Después de las validaciones, user-miscroservice crea una entrada para el nuevo usuario. Luego, utilizando el nombre de usuario y la contraseña, enviamos una solicitud a un servidor con
grant_type = 'password'
- El servidor Oauth devuelve un token de acceso y un token de actualización, que enviamos al cliente original.
A continuación se muestra el flujo (previsto) cuando el usuario se registra a través de las redes sociales
- Después de la autorización exitosa de Facebook, tenemos el correo electrónico / nombre de usuario del usuario mediante el cual creamos un nuevo usuario en nuestro sistema.
- Ahora quiero obtener un token de acceso para el usuario haciendo una llamada a nuestro servidor de verdad como el flujo anterior.
problema
Como no tenemos contraseña en esta etapa, no podemos usuario la contraseña grant_type. Incluso si genero una contraseña aleatoria para el usuario, el servidor Auth solo requiere contraseñas de texto sin formato, mientras que mantenemos las contraseñas en nuestro sistema.