# 通过插件可以对 Discourse 进行多大程度的自定义？

**URL:** https://meta.discourse.org/t/how-much-can-discourse-be-customized-via-plugins/133695
**Category:** Development
**Created:** [2019年十一月18日 14:45 UTC](https://meta.discourse.org/t/how-much-can-discourse-be-customized-via-plugins/133695 "2019-11-18T14:45:56Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![Nikolay](https://avatars.discourse-cdn.com/v4/letter/n/a698b9/32.png) [@Nikolay](https://meta.discourse.org/u/Nikolay)
#### Post date: [2019年十一月18日 14:45 UTC](https://meta.discourse.org/t/how-much-can-discourse-be-customized-via-plugins/133695/1 "2019-11-18T14:45:56Z")

</div>

大家好。  
我想将我的社区从 IPB 迁移到 Discourse。  
我通过基础插件教程创建了一个插件。我发现我可以创建前端插件。  
但我想知道，是否有一种方法可以创建后端插件？  
例如，我想创建一个自定义的 SSO 登录处理器。  
我想创建一个插件，在帖子创建时从其他服务器获取信息，或将信息发送到其他服务，例如 BigQuery 等。  
那么，是否可以通过 Discourse 插件系统实现这样的插件呢？

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [2019年十一月18日 14:47 UTC](https://meta.discourse.org/t/how-much-can-discourse-be-customized-via-plugins/133695/2 "2019-11-18T14:47:14Z")

</div>

是的，老实说，我认为“后端”插件比“前端”插件更容易开发，因为 Ruby 和 Rails/Discourse 插件钩子让这一切变得非常简单。

> [@Nikolay](#):
>
> 例如，我想创建一个自定义的 SSO 登录处理器。

示例：[GitHub - discourse/discourse-linkedin-auth: LinkedIn OAuth Login support for Discourse · GitHub](https://github.com/discourse/discourse-plugin-linkedin-auth)

> [@Nikolay](#):
>
> 在帖子创建时从其他服务器获取信息

示例：

> <https://github.com/discourse/discourse-algolia/blob/main/plugin.rb#L66-L82>

---

<div class="post-metadata">

### Author: ![Nikolay](https://avatars.discourse-cdn.com/v4/letter/n/a698b9/32.png) [@Nikolay](https://meta.discourse.org/u/Nikolay)
#### Post date: [2019年十一月18日 14:52 UTC](https://meta.discourse.org/t/how-much-can-discourse-be-customized-via-plugins/133695/3 "2019-11-18T14:52:17Z")

</div>

感谢您的回复。我会查看一些插件，以了解如何编写它们。

---

<div class="post-metadata">

### Author: ![Nikolay](https://avatars.discourse-cdn.com/v4/letter/n/a698b9/32.png) [@Nikolay](https://meta.discourse.org/u/Nikolay)
#### Post date: [2019年十一月25日 15:16 UTC](https://meta.discourse.org/t/how-much-can-discourse-be-customized-via-plugins/133695/4 "2019-11-25T15:16:59Z")

</div>

> [@Falco](#):
>
> 示例：[GitHub - discourse/discourse-plugin-linkedin-auth: Discourse 的 LinkedIn OAuth 登录支持](https://github.com/discourse/discourse-plugin-linkedin-auth)

你好，我几乎已经创建了一个插件。我把它做得几乎和这个插件示例一模一样。但每次都出现这个错误，我无法弄清楚如何修复：

```
# 路由错误
## 没有匹配 [POST] "/auth/myauth" 的路由
`Rails.root: /var/discourse`

```

你知道可能的解决方案吗？

附注：我在登录表单上点击“我的登录”按钮后出现此错误。
