Autorização a partir de um aplicativo de desktop (e do site do domínio base)

Recentemente configurei o SSO para que os usuários possam fazer login no meu site principal (mysite.com) usando suas credenciais do Discourse, que está rodando em um subdomínio (forum.mysite.com). Agora estou enfrentando problemas porque também quero fazer login no Discourse a partir de um aplicativo de desktop.

Um pouco de contexto: estou executando uma versão beta exclusiva por convite para este aplicativo de desktop e gostaria de garantir que o usuário tenha acesso ao fórum antes de iniciar o aplicativo.

Idealmente, eu teria um formulário básico no meu aplicativo de desktop e faria uma requisição POST para o fórum para verificar o usuário. Eu estava pensando que, se o Discourse fosse um provedor OAuth2, isso funcionaria? Não acho que seja, e não consigo encontrar uma maneira de fazer o que quero, mas talvez eu esteja perdendo algo.

Sei que este é um caso de uso incomum e sou novo no mundo de usuários/SSO/OAuth/etc. Então, se eu estiver seguindo o caminho errado, agradeço se alguém puder me dar uma mão :blush:

O Discourse não pode ser um provedor OAuth2, não (embora eu adoraria ver um plugin que implemente isso um dia — é definitivamente viável).

No momento, você pode usar o próprio protocolo SSO do Discourse para implementar isso. Na verdade, fazemos isso rotineiramente para nossas ferramentas internas em discourse.org:

A outra opção que você tem, que pode ser uma melhor adequação para o cenário de “aplicativo desktop”, é usar o fluxo de “Chave de API do Usuário”. É assim que autenticamos usuários em nossos aplicativos Android/iOS:

Essa “Chave de API do Usuário” parece perfeita!
Vou testar, obrigado!