通过 JWT 为 impact.com 微站点设置 SSO

您的 Advocate 计划的微网站通常要求客户倡导者先使用用户名和密码注册,然后才能访问他们的分享链接和奖励详情。不过,作为一种高级替代方案,您可以通过在服务器端生成一个 JSON Web Token(JWT) ,并通过 URL 参数将其传递给微网站来对用户进行身份验证。

使用这种方法,参与者不会拥有微网站的登录凭据。相反,他们通过登录您现有的客户门户获得访问权限,然后客户门户会使用 JWT 将他们重定向到微网站,以识别他们并显示其个性化内容。

开始之前

只有在以下所有情况都适用时,您才应使用此方法:

  • 您希望通过自动将参与者登录到您计划的微网站来模拟单点登录(SSO)体验。

  • 您可以在服务器端生成 JWT。

  • 您无法或不想安装 通用跟踪标签 (UTT) 到您的站点上。

1

步骤 1:创建一个不使用托管身份的微网站

创建微网站时,您需要关闭 Managed Identity Service,然后将所有页面设置为“未验证”用户可访问。 仪表板 页面将使用 JWT 对用户进行身份验证并加载微网站。

创建微网站

首先,调整设置以关闭 参与者登录 选项。

  1. 从左侧导航菜单中,选择 [Engage] → 内容.

  2. 微站点 卡片中,选择 编辑设置.

  3. 然后,您将被重定向到新的 微网站设置 页面。

  4. 登录 部分, [关闭切换] 参与者登录.

  5. 选择 保存设置.

配置仪表板页面

接下来,配置微网站的 仪表板 页面,使其对未验证用户可见。然后,将页面上的组件连接到您的推荐计划,这样就会显示正确的信息。

  1. 调整您站点的 仪表板 页面设置。

    • 从左侧导航菜单中,选择 [Engage] → 内容设置内容编辑内容.

    • 微站点 选项卡添加一个新的分享按钮,选择 仪表板已登录布局 部分。

    • 选择 [菜单] → 设置.

    • 允许的用户 下拉列表中,选择 未验证.

  2. 将您的计划 ID 添加到 仪表板.

    • 用户统计 — 您必须将该 ID 添加到您选择显示的每个单独用户统计项中。

    • 分享链接

    • 推荐代码

    • 社交媒体按钮 — 您必须将该 ID 添加到您选择包含的每个单独社交媒体分享按钮中。

  3. 在右上角,选择 保存.

如需帮助使用编辑器查找并调整您的页面和组件设置,请参阅 微型网站编辑器详解自定义微网站布局和页面.

移除不必要的页面

移除微网站不会使用的布局和页面。

  1. 将光标悬停在页面或布局上。

  2. 选择 [More] → 删除.

  3. 移除 已登录布局.

  4. 移除以下页面:

    • 编辑个人资料

    • 邮箱验证

    • 忘记密码

    • 登录

    • 注销

    • 注册

    • 重置密码

    • 验证邮箱

2

步骤 2:生成 JWT

JWT 结构遵循用于用户身份验证的标准 Advocate 要求。如果您以前集成过 Advocate,您很可能已经在为 UTT 生成类似的令牌。

您必须在服务器或任何受信任的后端系统上安全地生成 JWT——绝不能在浏览器中生成。

了解如何 生成 JWT 和负载要求.

3

步骤 3:将 JWT 附加到微网站 URL

用户登录到您的平台后,将他们重定向到包含 URL 查询字符串中 JWT 的微网站。

示例: https://your-microsite.squatch.app/?jwt=<YOUR_GENERATED_JWT>

您可以在新的浏览器标签页中打开微网站,或使用 iframe 将微网站嵌入到您的应用中。如果您决定嵌入微网站,请确保妥善处理 跨域资源共享(CORS) 以及浏览器限制。

备注

  • 如果您使用此身份验证方法,用户将不会拥有微网站的登录凭据。

  • 基于 JWT 的访问必须受到严格控制。不要在客户端 JavaScript 中暴露或篡改它。

  • 这是一种非标准方法——在正式推出您的计划之前,请在预发布环境中进行充分测试。

  • 如果您需要 支持,请在支持请求中包含您的微网站 URL、实现细节和示例 JWT 负载。

最后更新于

这有帮助吗?