Help

Help > Forum > 網站集成 > 单点登录-基于令牌的身份验证

单点登录-基于令牌的身份验证

如果你使用的是 WordPress,请使用我们的 WordPres.

我们可以为你做 -前往 单点登录设置 然后选择您的建站工具,让我们的开发团队为您整合 SSO,起价仅为 199 美元。

我们还支持使用单点登录 OAuth2, JWT, SAML, LDAP、SQL 和 OpenID.

您可以使用单点登录 (SSO) API 自动将访客登录到您的论坛。如果您的网站上有单独的登录区域并且不想让访问者两次登录,这可能会很有用。

SSO API 允许您发出 API 请求以获取用户的登录令牌,然后将其包含在论坛地址中以使用户登录。

请按照以下说明将 SSO API 集成到您的网站中:

  1. 获取你的 API 密钥

  2. 申请登录令牌

    在您网站的登录脚本中,创建一个 HTTP 请求 到 SSO API 登录 URL:

    https://FORUM_DOMAIN/register/setauthtoken?type=json&apikey=APIKEY&user=USER

    替换 APIKEY 使用您在步骤 1 中检索的 API 密钥。

    替换 USER 使用您要登录的论坛用户的用户名。如果你的网站不使用用户名,你可以 使用电子邮件地址作为用户名.

    您可以选择包括一个 &email=EMAIL 如果您想在指定的论坛账户尚不存在的情况下自动创建论坛账户,则为参数。我们建议包括电子邮件参数。(用用户的电子邮件地址替换 EMAIL。)

    你也可以选择 指定其他账户信息,例如用户的全名(“姓名” 参数)、头像(“头像” 参数)等。其他参数必须采用 URL 编码。

    如果你使用的是 PHP,我们强烈建议你使用我们的 PHP SSO 库。它包含一个文件,其中包含您需要的所有库代码,以及其他带有示例用法的文件。

  3. 从响应中获取令牌

    解析 HTTP 请求返回的 JSON 以获取身份验证令牌和用户 ID,然后将其存储在 Cookie 或您的数据库中。身份验证令牌将在 6 个月后过期,或者在使用后立即过期,以确保高度的安全性。JSON 响应将如下所示:

    {
      "authtoken": "88SngRVArwrsZ053lfrqL",
      "userid": 424764
    }
    

    如果发生错误,将显示与以下 JSON 类似的 JSON,而不是正常的 JSON 响应:

    {
       "message": "The error message will be here."
    }
    
  4. 使用令牌登录用户

    将身份验证令牌传递到您网站上的论坛链接中。例如:

    <a href="https://FORUM_DOMAIN/?authtoken=AUTHTOKEN&remember=REMEMBER">Forum</a>

    替换 AUTHTOKEN 使用前面步骤中检索的身份验证令牌。替换 REMEMBER 如果您想在浏览器关闭后仍保持用户登录状态,则使用 1;如果您希望在浏览器会话结束时注销用户,则将其排除在外。

    如果您使用嵌入代码,则可以将身份验证令牌传递到嵌入论坛的页面或论坛内部 src 嵌入代码的属性。例如:

    <!--Begin Website Toolbox Forum Embed Code-->
    <div id="wtEmbedCode"><script type="text/javascript" id="embedded_forum" src="https://FORUM_DOMAIN/js/mb/embed.js?authtoken=AUTHTOKEN&remember=REMEMBER"></script> <noscript><a href="https://FORUM_DOMAIN">Forum</a></noscript></div>
    <!--End Website Toolbox Forum Embed Code-->

    或者,如果您不想在论坛地址中传递身份验证令牌,则可以将以下 HTML IMG 标签添加到 “成功登录” 登录页面:

    <img src="//FORUM_DOMAIN/register/dologin?authtoken=AUTHTOKEN&remember=REMEMBER" border="0" width="1" height="1" alt="">

    由于第三方 Cookie 在 Safari 浏览器中被屏蔽,除非你有 IMG 标签方法,否则在 Safari 中不起作用 将您的域名关联到您的论坛.

  5. 使用令牌注销用户

    用户注销您的网站后,将他们重定向到以下地址以同时注销论坛:

    https://FORUM_DOMAIN/register/logout?authtoken=AUTHTOKEN&redirect=REDIRECT_URL

    替换 REDIRECT_URL 使用您希望在用户退出论坛后将其发送到的 URL 编码的网站地址。替换 AUTHTOKEN 使用前面步骤中检索的身份验证令牌。当用于注销时,令牌的有效期为 6 个月,即使它已经用于登录用户也是如此。一旦使用该令牌注销用户,该令牌将立即过期。

    或者,如果您不想重定向用户,可以将以下 HTML IMG 标签添加到您网站的 “成功注销” 登录页面:

    <img src="//FORUM_DOMAIN/register/logout?authtoken=AUTHTOKEN" border="0" width="1" height="1" alt="">

    由于第三方 Cookie 在 Safari 浏览器中被屏蔽,除非你有 IMG 标签方法,否则在 Safari 中不起作用 将您的域名关联到您的论坛.

  6. 让您的论坛使用您网站的登录页面

    设置-> 单点登录 您的Website Toolbox帐户部分,指定您网站的地址 登录页面 确保所有论坛登录均使用您网站的登录表单。

    当我们将用户引导到您的登录页面时,我们将添加一个 requestURI URL 的参数。此参数将携带用户来源的页面路径(例如 /categories)。这样,在他们登录后,您可以将他们发送回同一页面。

  7. 让您的论坛使用您网站的注销页面

    可选,在 设置-> 单点登录 您的Website Toolbox帐户部分,指定您网站的地址 注销页面 确保用户在退出论坛后看到您网站的注销页面。

使用 自定义域 还有我们的 嵌入代码, API网络挂钩 建立更深层次的整合。


If you still need help, please contact us.