Mi respuesta asume que estás utilizando Discourse como tu proveedor de identidad (con sus interfaces de usuario de inicio de sesión/registro), y quieres que siga siendo así.
En el lado de Discourse, habilitarlo es tan simple como
Sin embargo, mencionaste que estás creando un plugin.
Si creas “una ruta en el servidor” en una nueva acción de controlador en un plugin de Discourse, puedes obtener el usuario de la sesión, llamar a terceros y devolver el JWT a tu cliente.