Tente implementá-lo de uma forma que faça sentido para usuários não técnicos. Plataformas existentes como Disqus e comentários do Facebook provavelmente oferecem bons exemplos.
Algumas opções de autenticação adicionais:
- o site do cliente se torna um cliente DiscourseConnect. Isso é simples de implementar, mas requer código adicional no lado do servidor do site do cliente.
- os usuários se autenticam no cliente e seu status de autenticação é passado para o iframe com a API postMessage: Window: postMessage() method - Web APIs | MDN
- os usuários fazem login diretamente no Discourse via iframe
Minha relutância em desenvolver isso puramente no lado do cliente surgiu ao considerar os problemas do sistema funcionando em qualquer tipo de escala. Essencialmente, eu teria que enfileirar solicitações de API e lidar com respostas de solicitações enfileiradas. Não parecia robusto o suficiente para lidar com, digamos, 1000 usuários simultâneos. Eu teria preocupações semelhantes, mas por razões diferentes com a abordagem de incorporação javascript. Suspeito que seria muito mais fácil de lidar do que tentar sincronizar tudo no cliente.