# 通过 SSO 发送标题，但没有“SSO 覆盖标题”设置？

**URL:** <https://meta.discourse.org/t/sending-title-by-sso-but-there-is-no-sso-overrides-title-setting/123943>\
**Category:** Support\
**Created:** [2019年七月25日 12:57 UTC](https://meta.discourse.org/t/sending-title-by-sso-but-there-is-no-sso-overrides-title-setting/123943 "2019-07-25T12:57:19Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Cardinalflyer](https://avatars.discourse-cdn.com/v4/letter/c/f14d63/32.png) [@Cardinalflyer](https://meta.discourse.org/u/Cardinalflyer)\
**Post date:** [2019年七月25日 12:57 UTC](https://meta.discourse.org/t/sending-title-by-sso-but-there-is-no-sso-overrides-title-setting/123943/1 "2019-07-25T12:57:20Z")

</div>

我刚刚在 SSO 负载中添加了 Title 数据块，它能正确设置标题，但在后续登录时似乎无法再次更新。

我本应确认设置是否允许 SSO 覆盖标题，但我找不到“SSO 覆盖标题”的选项？这是否在将 Title 添加到 SSO 负载时被遗漏了？还是隐含在其他某个设置中？

我的社区非常需要此功能，因为我根据用户拥有的飞机来设置标题，而这一点会不时发生变化！

---

<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:** [2019年八月1日 18:13 UTC](https://meta.discourse.org/t/sending-title-by-sso-but-there-is-no-sso-overrides-title-setting/123943/2 "2019-08-01T18:13:10Z")

</div>

> [@Cardinalflyer](#):
>
> 我本想确认一下设置是否已允许 SSO 覆盖标题。但我没找到“SSO 覆盖标题”的设置？

查看 Discourse 代码后发现，如果 SSO 载荷中包含 `title` 字段，那么用户每次通过 SSO 登录 Discourse 时，其标题都会被更新。需要注意的是，无法通过 SSO 载荷创建新标题，你只能提供用户已加入的现有 Discourse 分组的标题。

我已在自己的网站上测试过，功能运行正常。

---

<div class="post-metadata">

**Author:** ![Cardinalflyer](https://avatars.discourse-cdn.com/v4/letter/c/f14d63/32.png) [@Cardinalflyer](https://meta.discourse.org/u/Cardinalflyer)\
**Post date:** [2019年八月1日 22:03 UTC](https://meta.discourse.org/t/sending-title-by-sso-but-there-is-no-sso-overrides-title-setting/123943/3 "2019-08-01T22:03:24Z")

</div>

这很有趣，因为我确实是通过将它们添加到有效负载中来创建标题的，而且它们并不是群组。例如：

![image](https://global.discourse-cdn.com/meta/original/3X/e/9/e990a6e40f319928581c1348b95ff38d6af23368.png)

如您所见，对于这组飞机所有者来说，这个标题非常有用，因此这是一个很好的功能！

根据我的测试，一旦设置了标题，SSO 有效负载就不会更改或重置该标题。用户也无法编辑标题……不过，我确实看到了它与群组之间的关联，因为他们可以选择一个希望作为其标题显示的群组。

这或许正在变成一个功能建议？或者是对“扩展此功能”的思考？这对我们的目的来说确实是一个很好的功能。

---

<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:** [2019年八月1日 22:21 UTC](https://meta.discourse.org/t/sending-title-by-sso-but-there-is-no-sso-overrides-title-setting/123943/4 "2019-08-01T22:21:30Z")

</div>

> [@Cardinalflyer](#):
>
> 这很有趣，因为我确实是通过将标题添加到负载中来创建标题的，而且它们不是群组。

你说得对。让我感到困惑的是，当我发送一个标题，而该标题不对应用户所属群组的标题时，标题被设置为“无”：

 ![image](https://global.discourse-cdn.com/meta/original/3X/2/b/2b1a6282b375eef5463adbba04b53107316982e8.png)

但在负载中发送任何标题确实会在每次 SSO 登录时更新用户的 `title`。你可以通过 Rails 控制台检查这一点，或者如果网站上安装了 [Data Explorer](https://meta.discourse.org/t/32566?silent=true) 插件，也可以使用它来查看。

> [@Cardinalflyer](#):
>
> 用户也无法编辑标题。

这似乎是这种方法的缺点。用户在个人资料页面上只能选择他们所属的 Discourse 群组的标题。

---

<div class="post-metadata">

**Author:** ![Cardinalflyer](https://avatars.discourse-cdn.com/v4/letter/c/f14d63/32.png) [@Cardinalflyer](https://meta.discourse.org/u/Cardinalflyer)\
**Post date:** [2019年八月1日 22:56 UTC](https://meta.discourse.org/t/sending-title-by-sso-but-there-is-no-sso-overrides-title-setting/123943/5 "2019-08-01T22:56:43Z")

</div>

这实际上对我们来说效果相当不错，因为我们的会员管理系统会记录这些详细信息，有时我们的会员需要提醒来更新他们的个人资料。🙂

我刚刚又测试了一次，现在它已经正常运行了。这总是让人又爱又恨……很高兴不需要修复它，但也很困惑为什么之前的测试显示有问题。所以一切正常，谢谢！

---

<div class="post-metadata">

**Author:** ![Cardinalflyer](https://avatars.discourse-cdn.com/v4/letter/c/f14d63/32.png) [@Cardinalflyer](https://meta.discourse.org/u/Cardinalflyer)\
**Post date:** [2019年八月4日 20:39 UTC](https://meta.discourse.org/t/sending-title-by-sso-but-there-is-no-sso-overrides-title-setting/123943/6 "2019-08-04T20:39:32Z")

</div>

我弄明白为什么我的测试没有起作用了。你可以更改标题，但无法通过 SSO 将其设置为 null。如果你发送 null 作为标题，它不会清除标题。

我添加了一些 SSO 代码，将任何 null 标题转换为 “-”，这样就可以了。我还没试过空格，那可能也行。

---

<div class="post-metadata">

**Author:** ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)\
**Post date:** [2019年九月3日 20:39 UTC](https://meta.discourse.org/t/sending-title-by-sso-but-there-is-no-sso-overrides-title-setting/123943/7 "2019-09-03T20:39:40Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
