How much can discourse be customized via plugins?

Hello everyone.
I want to change my community from IPB to Discourse.
I created plugin via basic plugin tutorial. I see that i am able to create frontend plugin.
But i am interested, is there a way to create backend plugins?
For example i want to create custom SSO login handler.
I want to create plugin that will on post creating get info from other server, or send info to some other service, like bigquery. Etc…
So, is it possible to make plugins like this using discourse plugin system?

1 Like

Yes, and to be honest I consider “backend” plugins easier than “frontend” plugins as Ruby and Rails/Discourse plugin hooks make it so easy.

Example: https://github.com/discourse/discourse-plugin-linkedin-auth

Example:

https://github.com/discourse/discourse-algolia/blob/master/plugin.rb#L66-L82

11 Likes

Thank you for reply. Ill check some plugins, to get sense how to write them.

2 Likes

Hello, i almost created plugin. I make it almost copy of this plugin example. But getting this error all time, and cant figure out how to fix it:

# Routing Error
## No route matches [POST] "/auth/myauth"
`Rails.root: /var/discourse`

Do you know what solution might be?

p.s. I am getting this error after clicking button “my login” on login form