# 如何“拦截”首次SSO使用，让用户确认SSO操作并设置用户名？

**URL:** <https://meta.discourse.org/t/how-to-intercept-first-time-sso-usages-to-let-users-confirm-the-sso-action-and-set-a-username/262077>\
**Category:** SSO\
**Tags:** discourseconnect\
**Created:** [2023 年4 月 18 日 12:15 UTC](https://meta.discourse.org/t/how-to-intercept-first-time-sso-usages-to-let-users-confirm-the-sso-action-and-set-a-username/262077 "2023-04-18T12:15:09Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

作者： ![GregorSondermeier](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gregorsondermeier/32/299039_2.png) [@GregorSondermeier](https://meta.discourse.org/u/GregorSondermeier)\
发布日期： [2023 年4 月 18 日 12:15 UTC](https://meta.discourse.org/t/how-to-intercept-first-time-sso-usages-to-let-users-confirm-the-sso-action-and-set-a-username/262077/1 "2023-04-18T12:15:10Z")

</div>

您好，

我使用 Discourse 大约三周了，到目前为止，我非常喜欢它的可能性、轻松性、API、文档和元社区。到目前为止，这是一次非常棒的体验。

在我们的公司，我们有一个 Web 应用程序，用户可以登录，该应用程序连接到一个存储用户的后端系统。现在，我们还想提供一个 Discourse 论坛，现有用户应该能够通过 SSO 登录。

我们正在使用 [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true)，它有很好的文档记录 [此处](https://meta.discourse.org/t/13045)。我们还使用 [sync\_sso](https://meta.discourse.org/t/84398) 路由，将我们在后端所做的任何更改即时同步到 Discourse。到目前为止，这运行良好。

现在，产品负责人有两个要求，在我自己决定实现它们之前，我想仔细检查一下它们是否可以直接在 Discourse 中进行配置：

1. 在我们的内部数据库中，用户没有用户名。但他们确实拥有真实姓名等信息。在我们当前的 PoC 中，我们将该真实姓名与 ssoRecord 一起发送，以便 Discourse 存储它并生成用户名。但是，我们可能在法律上不允许这样做，我们可能需要让用户自己决定是否要在我们的 Discourse 实例中存储他们的真实姓名以及他们希望在我们的 Discourse 实例中使用什么用户名。  
**问题** ：是否有可能检测到用户_首次_使用 SSO，并在这种情况下将他们重定向到一个“欢迎页面”，让他们可以选择要使用的姓名和用户名？理想情况下，这些应该从 ssoRecord 中的值预先填充，但在用户继续他们的 SSO 注册（伪装成登录）操作之前，他们需要主动确认这些值。

2. 谈到确认：同样，当用户_首次_使用 SSO 时，是否有办法确保用户在他们的数据实际存储在 Discourse 数据库中之前，能够阅读并同意我们的条款和条件？

我理论上可以在我们的 Web 应用程序中实现这两个步骤。但是，在此之前，我想回来检查一下 Discourse 是否提供了一些开箱即用的功能。我在管理员面板设置中找不到任何有意义的内容，因此在这里提问 🙂

谢谢！

编辑：  
我找到了 [这个类似的帖子](https://meta.discourse.org/t/168364)，它建议使用 `auth skip create confirm` 选项，但是这个选项默认是未勾选的。

---

_[View the full topic](https://meta.discourse.org/t/how-to-intercept-first-time-sso-usages-to-let-users-confirm-the-sso-action-and-set-a-username/262077)._
