Quanto o Discourse pode ser personalizado por meio de plugins?

Olá a todos.

Quero migrar minha comunidade de IPB para o Discourse.

Criei um plugin seguindo o tutorial básico de plugins. Percebi que é possível criar plugins para o frontend.

No entanto, gostaria de saber: existe alguma maneira de criar plugins para o backend?

Por exemplo, quero criar um manipulador personalizado de login SSO.

Também gostaria de criar um plugin que, ao criar uma postagem, obtenha informações de outro servidor ou envie dados para algum outro serviço, como o BigQuery, etc.

Então, é possível criar plugins como esses usando o sistema de plugins do Discourse?

Sim, e para ser honesto, considero os plugins de “backend” mais fáceis do que os de “frontend”, pois Ruby e os hooks de plugins do Rails/Discourse tornam tudo muito simples.

Exemplo: GitHub - discourse/discourse-linkedin-auth: LinkedIn OAuth Login support for Discourse · GitHub

Exemplo:

Obrigado pela resposta. Vou verificar alguns plugins para entender como escrevê-los.

Olá, eu quase criei um plugin. Fiz quase uma cópia deste exemplo de plugin. Mas estou recebendo esse erro o tempo todo e não consigo descobrir como corrigi-lo:

# Erro de Roteamento
## Nenhuma rota corresponde a [POST] "/auth/myauth"
`Rails.root: /var/discourse`

Você sabe qual pode ser a solução?

p.s. Estou recebendo esse erro após clicar no botão “meu login” no formulário de login.