# 通过Webhook传递SSO信息

**URL:** https://meta.discourse.org/t/passing-sso-info-via-webhook/164504
**Category:** Support
**Created:** [2020年九月18日 21:20 UTC](https://meta.discourse.org/t/passing-sso-info-via-webhook/164504 "2020-09-18T21:20:53Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![ebeach](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ebeach/32/119801_2.png) [@ebeach](https://meta.discourse.org/u/ebeach)
#### Post date: [2020年九月18日 21:20 UTC](https://meta.discourse.org/t/passing-sso-info-via-webhook/164504/1 "2020-09-18T21:20:53Z")

</div>

我们目前有一个名为 external\_id 的字段，其中包含用于 SSO 的用户 ID。我希望能够通过 webhook 传递该字段。目前它并不包含在发送的数据中。是否有办法添加它？

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [2020年九月18日 21:29 UTC](https://meta.discourse.org/t/passing-sso-info-via-webhook/164504/2 "2020-09-18T21:29:47Z")

</div>

您使用的是哪种类型的 Webhook？对于启用了 SSO 的网站，`external_id` 应出现在用户事件 Webhook 负载中。

---

<div class="post-metadata">

### Author: ![ebeach](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ebeach/32/119801_2.png) [@ebeach](https://meta.discourse.org/u/ebeach)
#### Post date: [2020年九月18日 21:34 UTC](https://meta.discourse.org/t/passing-sso-info-via-webhook/164504/3 "2020-09-18T21:34:22Z")

</div>

这是一个用户事件 Webhook，但 external\_id 值未被传递。

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [2020年九月18日 21:50 UTC](https://meta.discourse.org/t/passing-sso-info-via-webhook/164504/4 "2020-09-18T21:50:19Z")

</div>

我刚看了一下代码。原来 `external_id` 仅在管理员用户的用户事件 Webhook 负载中传递。我不确定为什么我们只在站点管理员的负载中发送 `external_id`。

---

<div class="post-metadata">

### Author: ![ebeach](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ebeach/32/119801_2.png) [@ebeach](https://meta.discourse.org/u/ebeach)
#### Post date: [2020年九月18日 21:53 UTC](https://meta.discourse.org/t/passing-sso-info-via-webhook/164504/5 "2020-09-18T21:53:28Z")

</div>

有没有办法添加该字段？

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [2020年九月19日 02:13 UTC](https://meta.discourse.org/t/passing-sso-info-via-webhook/164504/6 "2020-09-19T02:13:57Z")

</div>

我知道我们在将 `external_id` 添加到公开可见的数据方面持谨慎态度，但将其添加到 Webhook 负载中似乎应该是安全的。也许 Discourse 工程团队的某位同事对此会有想法。

查看代码后，我觉得通过插件为所有用户将 `external_id` 添加到用户事件 Webhook 应该不难。不过，在提出该方案之前，我想先更好地了解为什么目前只为管理员用户传递 `external_id`。

---

<div class="post-metadata">

### Author: ![MSG160](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/msg160/32/208781_2.png) [@MSG160](https://meta.discourse.org/u/MSG160)
#### Post date: [2022年九月27日 14:21 UTC](https://meta.discourse.org/t/passing-sso-info-via-webhook/164504/7 "2022-09-27T14:21:45Z")

</div>

我在搜索如何将 external\_id 放入 webhook 的 payload 时遇到了这个主题。我们需要此信息将事件链接回用户的 external\_id。这个功能实现了吗？
