Help

Help > Forum > 網站集成 > 根据您网站的成员资格分配用户组

根据您网站的成员资格分配用户组

如果你的网站有会员资格、计划或产品,你可以决定每个成员属于哪个论坛用户组。您的网站设置规则并将群组 ID 传递给论坛,因此成员的论坛访问权限始终与其在您网站上的成员资格相匹配。

它是如何运作的

  • 要分配哪些群组。您的网站为每个成员制定了正确的群组,并将其传递给论坛。
  • 是否开始单点登录。如果会员的产品或计划已过期,您的网站根本不会将其登录到论坛。

论坛本身永远不会读取您的会员记录。一切都由您的网站驱动。

在你开始之前

  1. 获取您的 API 密钥。本文中的每个请求都需要它。
  2. 获取您要分配的每个用户组的 ID,例如每个程序一个群组。

创建账户时分配群组

在您的单点登录请求中包含 UserGro up s 参数。如果该账户尚不存在,则使用这些群组创建。

https://FORUM_DOMAIN/register/setauthtoken?type=json&apikey=APIKEY&user=USER&email=EMAIL&userGroups=GROUP_ID_1,GROUP_ID_2

用逗号分隔多个 ID。这些群组在首次创建账户时适用。要稍后更改群组,请使用下一节中的 API 请求。

成员资格发生变化时更新群组

当会员购买、升级或丢失您网站上的程序时,请使用网站工具箱 API 更新其论坛群组。这些请求从您的服务器运行,因此您可以在更改发生的那一刻发出。该成员无需登录。

在一次请求中更新所有成员的群组

要同时进行多项更改,例如将成员添加到两个群组并将他们从一个群组中移除,请向该成员的终端节点发送一个请求,其中包含他们应属于的每个群组。您发送的群组取代了成员的当前群组,因此请包括您希望他们保留的任何群组。

curl-X POST “https://api.websitetoolbox.com/v1/api/users/USER_ID”-H “内容类型:应用程序/json”-H “x-api-key:***-d '{“用户组”:[GROUP_ID_1,GROUP_ID_2]}'

要在替换成员之前查看其当前群组,请向相同的地址发送 GET 请求。

curl “https://api.websitetoolbox.com/v1/api/users/USER_ID”-H “x-api-key:API_KEY”

响应包括该成员的当前用户组。

添加或移除一个群组

当您只需要授予或撤消单个组时,请改用该组的终端节点,这样您就不必发送完整列表。

curl-X POST “https://api.websitetoolbox.com/v1/api/usergroups/GROUP_ID/users”-H “内容类型:应用程序/json”-H “x-api-key:***-d '{“UserIds”:[USER_ID]}'
curl-X 删除 “https://api.websitetoolbox.com/v1/api/usergroups/GROUP_ID/users”-H “内容类型:应用程序/json”-H “x-api-key:***-d '{“UserIds”: [USER_ID]}'

USER_ID 是成员的论坛用户 ID,创建账户时登录请求会返回该用户 ID。您可以传递用户名或电子邮件地址,而不是用户 ID。对于没有论坛账号的人来说,使用一个电子邮件地址,改为向他们发送加入群组的邀请。

决定谁获得访问权限

在开始单点登录之前,您的网站会检查会员资格。如果他们仍然有访问权限,请按照单点登录-基于令牌的身份验证中所述使用令牌登录。如果他们的产品已过期,请不要开始单点登录,他们将无法登录论坛。

经常问的问题

我应该更新成员的群组还是使用群组的终端节点?

同时更改多个群组时,将群组的完整列表发送到成员的终端节点。当您仅添加或删除一个组时,请使用该组的终端节点。

我应该何时更新成员的用户组?

每当会员在您网站上的会员资格发生变化时,例如购买、升级或到期,都要更新群组。无需等待成员的下次登录。

成员需要登录才能更新群组吗?

没有。此更新是来自您的服务器的 API 请求,因此无论成员是否登录或访问论坛,它都会起作用。

什么是 curl?

Curl 是用于发送 HTTP 请求的命令行工具,它包含在 macOS、Linux 和最新版本的 Windows 中,这就是本文中的示例以 curl 命令编写的原因。您可以使用任何编程语言的标准 HTTP 工具发送完全相同的请求,每种语言的参数都相同。有关多种语言的示例,请参阅提出 HTTP 请求的示例代码。

为什么 API 请求会失败?

检查 API 密钥是否与您论坛的 API 密钥相匹配,群组 ID 和用户 ID 是否正确,以及该成员是否已经拥有论坛账号。

如何找到用户组的 ID?

请参阅检索用户组的 ID。


If you still need help, please contact us.