En el caso general, eso será imposible (¿cómo puedes saber si un usuario anónimo tiene una cuenta sin pedirle que inicie sesión?). Sin embargo, debería ser posible detectar si un usuario ya tiene una sesión activa en tu sitio SSO.
Ese tema es bastante antiguo, pero creo que el principio aún debería aplicarse. Básicamente, agrega una URL con el soporte CORS apropiado que devuelva una respuesta JSON indicando si el usuario tiene una sesión activa. Luego, agrega algo de JS a tu tema de Discourse que consulte esa URL y active el proceso SSO si existe una sesión activa.