设置成只有 G-Suite 账户持有者才能访问?

有没有办法配置 Discourse,使组织的 G-Suite 用户自动获得基本访问权限?

或者至少可以自行创建账户。

并且,如果 G-Suite 成员资格被撤销,对 Discourse 的访问权限也会随之撤销?

是的,这非常简单:

  • 将您的站点设置为需要登录才能查看内容,使用 login required
  • 设置 Google 认证
  • 将您的 G Suite 域名添加到 email domains whitelist(电子邮件域名白名单),这将要求注册者使用该域名的电子邮件地址

如有需要,您可以白名单多个域名。

我认为您可以通过设置一个组来实现第一部分,该组会自动添加使用指定域名注册的用户。

我认为这不太可能实现。

我过去曾按照 @Stephen outlined 的步骤操作,并额外增加了一步:禁用通过电子邮件地址和密码登录。(我一时想不起该设置的确切名称。)

我们还调整了一项设置,以便在有人离开组织时能更快地停用其账户(虽不完美,但已接近目标):

这被称为“启用本地登录”。如果您使用域名白名单,则并非严格必要,但它可以在 Google 出现异常时提供一定的备用方案。此外,某些广告拦截器和内容拦截器会导致 Google 登录按钮消失。

我曾与几个社区合作,他们最初将该设置禁用,直到上述任一情况引发用户投诉。

如果您仅使用 Google 登录,那么在 Google 会话结束时访问权限即会被终止。您可以缩短默认会话时长以缩小时间窗口,但所有用户将被更频繁地要求重新进行身份验证。

我们禁用它的原因是为了实现这一点(重点为我所加):