Should the password be plain text when creating a user through the API?

I’m creating a small windows application that will use Discourse as the SSO provider. The first step in that chain is allowing the app to create a user through the Discourse API.

I’ve got that working, however it seems that the password for the user is passed in plain text and I’m wondering why that is? It seems like that could be a security issue… is the thought just that people should use SSL and that’s good enough to protect the password?

Yes, SSL is considered sufficient to protect secrets in-flight. Until the world sees the light and switches to something like TLS-SRP, sharing secrets over a secured channel are pretty much all we’ve got to work with.

Podemos enviar a senha criptografada em vez da senha em texto simples?

Existe alguma maneira de enviar uma senha criptografada em vez de uma senha em texto simples? Estamos desenvolvendo um aplicativo que utiliza a API /session para verificar a autenticação do usuário, onde é necessário enviar o nome de usuário e a senha. Notei algo: se você abrir as ferramentas de desenvolvedor do navegador, é possível ver a senha em texto simples que enviamos ao fazer login. Portanto, se alguém tiver acesso ao meu laptop, a senha pode ser comprometida, correto?

Se o SSO estiver habilitado, a senha não é utilizada de forma alguma, portanto isso não é um problema.
Basta fornecer alguns caracteres aleatórios.

Se quiser ir além, você pode implementar a fixação de certificado (certificate pinning) no seu APP para garantir que não haja ataques do tipo man-in-the-middle.

Desde que você esteja usando TLS, as senhas são enviadas criptografadas. Se você não estiver usando TLS, está em um trem rápido para o desastre, de qualquer forma.

Se você quis dizer “hash” em vez de “criptografada”, então não, essa não é uma configuração suportada, pois o mecanismo de hash usado dentro do Discourse não faz parte do contrato de interface pública e está sujeito a alterações a qualquer momento.

Bem, sim, mas se alguém tiver acesso ao seu laptop, pode simplesmente instalar um keylogger que capture a senha antes que ela passe por qualquer processo de hash. O modelo de ameaças de segurança do Discourse (e de cada aplicação web) inclui a estipulação de que o endpoint não está comprometido.