Help > Forum > 網站集成 > 单点登录-基于令牌的身份验证
单点登录-基于令牌的身份验证
如果你正在使用 WordPress,请使用我们的插件。
我们可以为您做到-转到单点登录设置,然后选择您的网站建设者,让我们的开发团队为您集成单点登录,起价仅为199美元。
我们还支持使用 SAML、OAuth2、L DAP、SQL 和 OpenID 进行单点登录。
您可以使用单点登录 (SSO) API 自动将访客登录到您的论坛。如果您的网站上有单独的登录区域,并且不想让访问者登录两次,这可能会很有帮助。
SSO API 允许您发出 API 请求以获取用户的登录令牌,然后将其包含在论坛地址中以便用户登录。
请按照以下说明将 SSO API 集成到您的网站中:
-
请求登录令牌
在网站的登录脚本中,创建一个 HTTP 请求 到单点登录 API 的登录网址:https://FORUM_DOMAIN/register/setauthtoken?type=json&apikey=APIKEY&user=USER将 APIKEY 替换为您在步骤 1 中检索到的 API 密钥。将 US ER 替换为您要登录的论坛用户的用户名。如果您的网站不使用用户名,则可以使用电子邮件地址作为用户名。或者,如果您的数据库中存储了用户的论坛用户 ID,则可以使用 &userid= USERID 参数来代替 &user= US ER 参数。
如果您希望在指定的论坛帐户不存在的情况下自动创建论坛账户,则可以选择包含 &email=email 参数。我们建议包含 email 参数。(将 EMAIL 替换为用户的电子邮件地址。)
您还可以选择指定其他帐户信息,例如用户的全名(“name” 参数)、avatar(“avatar” 参数)等。其他参数必须进行 URL 编码。
如果您使用的是 PHP,我们强烈建议您使用我们的 PHP SSO 库。它包含一个文件,其中包含您需要的所有库代码以及其他具有示例用法的文件。
-
从响应中获取令牌
解析 HTTP 请求返回的 JSON 以获取身份验证令牌和用户 ID,然后将其存储在 cookie 或数据库中。身份验证令牌将在6个月后过期,或者在使用后立即过期,以确保高级别的安全性。JSON 响应将类似于以下内容:{ "authtoken": "88SngRVArwrsZ053lfrqL", "userid": 424764 }
如果发生错误,将显示类似于以下 JSON 的 JSON,而不是正常的 JSON 响应:
{ "message": "The error message will be here." }
-
使用令牌登录用户
在网站上的论坛链接中传递身份验证令牌。例如:<a href="https://FORUM_DOMAIN/?authtoken=AUTHTOKEN&remember=REMEMBER">Forum</a>将 AUT HTOKEN 替换为前面步骤中检索到的身份验证令牌。如果您希望在浏览器关闭后仍保持用户登录状态,请将 “记住” 替换为 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浏览器中将不起作用。
-
使用令牌将用户注销
用户注销您的网站后,请将其重定向到以下地址,以便将他们从论坛中注销:
https://FORUM_DOMAIN/register/logout?authtoken=AUTHTOKEN&redirect=REDIRECT_URL将 REDIRECT_UR L 替换为 URL 编码的网站地址,以便在用户退出论坛后将其发送到该地址。将 AUT HTOKEN 替换为前面步骤中检索到的身份验证令牌。当用于注销目的时,令牌的有效期为6个月,即使该令牌已经用于用户登录。一旦使用该令牌注销用户,令牌将立即过期。
或者,如果您不想重定向用户,可以将以下 HTML IMG 标签添加到您网站的 “注销成功” 登录页面:
<img src="//FORUM_DOMAIN/register/logout?authtoken=AUTHTOKEN" border="0" width="1" height="1" alt="">由于第三方cookie在Safari浏览器中被阻止,除非您的论坛已设置为使用子域名,否则IMG标记方法在Safari浏览器中将不起作用。
-
让你的论坛使用你网站的登录页面
在 Website Toolbox 帐户的 “设置”-> “单点登录” 部分中,指定网站登录页面的地址,以确保所有论坛登录都使用您网站的登录表单进行。
-
让你的论坛使用你网站的注销页面
(可选)在Website Toolbox帐户的 “设置”-> “单点登录” 部分中,指定您网站的 “注销” 页面的地址,以确保用户在登录网站后会看到您网站的注销页面已退出论坛。
使用自定义域名和我们的嵌入代码、API 和 web 挂钩进行更深入的设置整合。
If you still need help, please contact us.