Discourse Apple 身份验证

:warning: 要使用此插件,您需要拥有付费的 Apple 开发者账号

:discourse2: 摘要 Discourse Apple 认证 允许用户使用 Apple 认证登录。
:open_book: 安装指南 此插件已捆绑在 Discourse 核心代码中。无需单独安装该插件。

要试用它,请访问 try.discourse.org 并登录。以下是其在 iOS 上运行的演示:

要进行设置,您需要在 Apple 开发者控制台中配置多项内容:

  1. 访问 Sign In - Apple 并登录

  2. 设置 App ID

    • 前往 “Certificates Identities and Profiles”
    • 点击左侧菜单中的 “Identifiers”
    • 点击 + 按钮以创建新标识符
    • 选择 “App IDs”,然后继续
    • 选择 “App”,然后继续
    • 输入描述(将在用户的授权应用列表中显示给用户)。例如 “Awesome Community Login”
    • 输入 Bundle ID。Apple 建议反向书写您的域名,如 com.example.forum
    • 向下滚动并启用 “Sign in with Apple”
    • “Continue”
    • 记下 Team ID 以备后用
    • “Register”
  3. 设置 Services ID

    • 前往 “Certificates Identities and Profiles”
    • 点击 + 按钮以创建新标识符
    • 选择 “Services ID”,然后继续
    • 输入描述。这将在用户登录时显示给用户。例如 “Awesome Discourse Community”
    • 输入 Bundle ID。您可以使用与 App ID 相同的 ID,但在末尾加上 .login
    • 记下此 Bundle ID 以备后用。它将是 Client ID
    • 继续,注册
    • 在列表中找到服务 ID,并打开它
    • 启用 Sign in with Apple,然后点击 ‘configure’
    • 输入您的网站域名,如 forum.example.com,以及回调 URL,如 https://forum.example.com/auth/apple/callback
      Screenshot

    • 接下来,点击 Done,Continue,Save
  4. 设置 Key

    • 点击左侧的 “Keys”
    • 点击 + 以创建新 Key
    • 输入名称,如 “Awesome Community Login”
    • 启用 ‘Sign In With Apple’,然后点击 “Configure”
    • 选择您之前创建的主 App ID
    • Save,Continue
    • Register
    • 记下 Key ID 以备后用
    • 下载 Key 并妥善保管。它将是 apple_pem 的值
    • Done
  5. 前往您的 Discourse 站点设置

    • 搜索 apple_
    • 输入之前获取的 client idteam idkey id
    • 在文本编辑器中打开 Key 文件,全选并复制/粘贴到 apple pem 站点设置中
    • 启用 sign in with apple enabled

现在试用一下——如果一切按计划进行,您现在应该在登录屏幕上看到 “Sign in with Apple” 按钮。

私密邮箱

如果用户在登录时选择 “隐藏我的邮箱”,论坛将获得一个 Apple 的 “私密中继” 地址供该用户使用。为了让您的论坛能够与该地址通信,您需要向 Apple 验证该地址

  1. 访问 Sign In - Apple 并登录

  2. 前往 “Certificates Identities and Profiles”

  3. 点击左侧的 ‘More’,然后在 ‘Sign in with Apple for Email Communication’ 下点击 “Configure”

  4. 点击 Email Sources 旁边的 +

  5. 在 ‘Domains’ 下,输入您的站点发送邮件的域名。(对于 CDCK 托管的客户,这是 discoursemail.com

  6. 保存,并检查该地址的 SPF 是否已验证

请注意,在此处输入单个电子邮件地址将破坏 Discourse 的 “通过电子邮件回复” 功能。您必须添加整个域名。

36 个赞

谢谢你。当我的社区真正开始发展时,这个和谷歌登录将极大地帮助人们注册。花了我一些时间才弄好,但我已经成功了。

1 个赞

:partying_face: 此插件现已作为 Bundling more popular plugins with Discourse core 的一部分,与 Discourse 核心捆绑在一起。如果您是自托管用户并使用了此插件,则需要在下次升级前将其从 app.yml 中移除。

1 个赞

仅供参考:我尝试设置此项,但您需要支付年费,在我的情况下大约是每年 125 美元!

3 个赞

对于免费选项,您也可以将您的站点配置为使用 Discourse ID,其中包含 Apple 作为登录选项之一。

6 个赞