Recientemente configuré SSO para que los usuarios puedan iniciar sesión en mi sitio principal (mysite.com) usando su cuenta de Discourse que se ejecuta en un subdominio (forum.mysite.com). Ahora tengo problemas porque también quiero iniciar sesión en Discourse desde una aplicación de escritorio.
Un poco de contexto: estoy ejecutando una versión beta por invitación para esta aplicación de escritorio y me gustaría asegurarme de que el usuario tenga acceso al foro antes de iniciar la aplicación de escritorio.
Idealmente, tendría un formulario básico en mi aplicación de escritorio y enviaría una solicitud POST al foro para verificar al usuario. Pensé que si Discourse fuera un proveedor de OAuth2, funcionaría. No creo que lo sea y no he encontrado una manera de hacer lo que quiero, pero quizás me estoy perdiendo algo.
Sé que este es un caso de uso extraño y soy nuevo en todo el mundo de usuarios/SSO/OAuth/etc., así que si me estoy metiendo por el camino equivocado, agradecería que alguien me ayudara
Discourse no puede ser un proveedor de OAuth2, no (aunque me encantaría ver un plugin que lo implemente algún día; definitivamente es posible).
Por ahora, puedes usar el propio protocolo SSO de Discourse para implementar esto. De hecho, lo hacemos habitualmente para nuestras herramientas internas en discourse.org:
La otra opción que tienes, que podría ser más adecuada para el escenario de ‘aplicación de escritorio’, es usar el flujo de “Clave de API de usuario”. Así es como autenticamos a los usuarios en nuestras aplicaciones para Android/iOS: