Hola Hunter,
Actualmente estamos en fase beta, pero la integración con Discourse va muy bien. Estamos utilizando la integración SSO para obligar el inicio de sesión en nuestro sitio. Ha funcionado sin problemas, aunque he notado lo siguiente:
-
Discourse no acepta nombres de usuario que contengan el símbolo “@”… recorta el nombre de usuario hasta la primera parte antes del “@”. Esto puede causar problemas si luego llamas a las API de Discourse usando ese nombre de usuario como argumento. Discourse no reconocerá un nombre de usuario como someone@example.com, ya que en Discourse el nombre de usuario de ese usuario se almacena como “someone”. Una forma sencilla de evitar esto es prohibir el uso del símbolo “@” en tus propios nombres de usuario.
-
Cuando alguien se registra en tu propio sitio, debes llamar explícitamente a la API de Discourse para sincronizar al usuario SSO, ya que podrías querer realizar acciones con ese usuario (por ejemplo, agregarlo a un grupo de Discourse) antes de que visite el sitio de Discourse por primera vez (lo cual sincronizaría automáticamente el SSO). Tengo un sitio basado en Django, por lo que estoy utilizando la biblioteca pydiscourse, la cual cuenta con un método sync_sso que facilita mucho esta tarea (pydiscourse · PyPI).
Sí, caducaremos algunos de nuestros cursos. En ese caso, el servidor llamará a la API de Discourse para eliminar al usuario del grupo general de ese curso, así como del grupo dedicado a su cohorte dentro de ese curso.
He creado tablas en mi sitio Django que rastrean estos grupos de “curso” y los diversos grupos de “cohorte” dentro de cada curso. Así que utilizo esa información al agregar o eliminar estudiantes, etc.:
