帮助手册

Web Tokens

关于 Web Token

JSON Web Token(JWT)是 RFC 7519 中定义的行业标准,是一种紧凑且自包含的方式,用于在两方之间安全地传输信息的访问令牌。当用户使用凭证登录认证服务器时,服务器将返回一个 Web Token。当同一用户向应用程序发起 API 调用时,应用程序使用该 Web Token 对试图访问受保护资源的用户进行身份验证。

创建 Web Token

将 Site24x7 注册到您的认证服务器,即可使用 Web Token 监控受保护的网站和端点 API。请按照以下步骤设置监控:

  1. 登录 Site24x7
  2. 导航至管理 > 配置文件 > Web Tokens
  3. 点击添加 Web Token
  4. 系统将弹出添加 Web Token 表单。
  5. 填写以下信息:
    • Web Token 名称:提供用于验证 API 端点的 Web Token 名称。
    • Web Token 端点 URL:指定认证服务器端点的 URL。
    • 刷新位置:从下拉菜单中选择刷新令牌的位置。系统将根据所选位置收集配置数据。
    • 刷新间隔:Web Token 将在指定时间间隔后通过查询端点 URL 进行刷新。
  6. HTTP 配置下填写以下信息: 
    • HTTP 方法:指定连接网页时使用的方法——POST 或 GET。使用单选按钮配置表单提交方法,并为 POST HTTP 方法选择适当的请求体类型。
    • HTTP 请求头:如需自定义默认 HTTP 请求头信息,可在此处添加额外的请求头名称和值。
    • 凭据:为需要 Basic/NTLM 身份验证的 URL 指定用户名和密码。                                                                                                                         
    • 认证请求方法:选择提交 Web Token 以验证 API 端点的方式。选择并定义传递访问令牌的方法。您可以在参数字段中使用自定义名称。  
      • 请求头: 访问令牌通过请求头发送。使用以下名称-值语法发送 Bearer Token: 
           "Authorization: Bearer ${access.token}"
      • URI 查询参数: 您可以使用以下语法在 URI 查询参数中发送访问令牌:          
            "access_token=${access.token}"
  7. 令牌提取下填写以下信息:

    响应中的令牌值将被提取,并可进一步用于为其他需要在请求 URI 中进行身份验证的监视器类型自定义请求参数、请求头等。

    • 响应格式:根据所选格式(文本、XML 或 JSON),以正则表达式、JSONPath 表达式或 XPath 表达式从 Web Token 中提取值。
    • Web Token 刷新失败告警:选择用户告警组,以便在 Web Token 连续三次刷新失败时接收通知。
    • Web Token 响应示例:
         {
          "access_token": "XXXXXXX",
          "token_type": "bearer",
          "expires_in": 3599,
          "refresh_token": "YYYYYYY",
          ".issued": "Mon, 20 Jan 2020 09:39:44 GMT",
          ".expires": "Mon, 20 Jan 2020 10:39:44 GMT"
          }

      '$.access_token' 是从响应中获取令牌的 JSON 表达式。
  8. 输入所有 Web Token 配置信息后,点击检查配置按钮测试 Web Token。测试完成后,结果将显示相关的 Web Token响应头以及 Web Token 的响应内容。
    注意
    • 配置正则表达式提取器以从响应中定位令牌的键。
    • 根据响应中收到的令牌设置键。
    • 失败的请求和响应将以红色高亮显示,并附有"Authentication failed(身份验证失败)"的消息。
    • 点击复制 Copy Icon 图标即可轻松复制响应内容。
  9. 点击授权按钮以获取端点 URL 的 Web Token。该令牌将根据刷新间隔中设置的时间进行刷新。

通过请求头启用 Cookie

如需通过请求头发送 Cookie,需要在请求中指定自定义请求头。例如,将请求头名称设置为 setBrowserCookie,即可包含多个 JSON 格式的令牌,这些令牌将被视为 Cookie。

请按照创建 Web Token 的步骤进行操作,并按如下方式修改认证请求方法令牌提取

  • 认证请求方法请求头
    • 请求头:您可以添加多个访问令牌。使用 setBrowserCookie 作为请求头名称时,这些令牌将作为 Cookie 发送。Cookie 在数据采集后端进行管理。
      Cookie 令牌应使用以下名称-值语法发送:
      cookie_name1${access.token}cookie_name2${access.token}globalparameter{global.token}

      请确保令牌在 JSONPath 表达式字段中按从上到下的顺序排列。
  • 令牌提取:从响应中提取的令牌值可在自定义请求头中重复使用,尤其适用于需要通过请求 URI 进行身份验证的其他类型监视器。
    • JSON Path 表达式JSONPath 表达式字段中的值应作为访问令牌添加到请求头中。请确保令牌按 JSONPath 中指定的从上到下的顺序依次添加。
      请参考以下示例:
      Authentication request method : Request Headers
      Header Name: setBrowserCookie
      Header value: cookie_name1${access.token}cookie_name2${access.token}cookie_name3${access.token}globalparameter{global.token}
      Token Extraction:
           Response Format: JSON
             1)$.value1
             2)$.value2
             3)$.value3
             4)$.12.00 Output:
           The final JSON Output, that will be set as cookies in the WebPage Speed (Browser) Monitor.
         {
           "cookie_name1":"$.value1",
           "cookie_name2":"$.value2",
           "cookie_name3":"$.value3"
           "current_time":"$.12.00"
         }
      Sample:
      setBrowserCookie: sessionId=abc123; date=2024-09-24; path=/; domain=.example.com
      注意

      以 JSON 格式将多个令牌作为 Cookie 添加,仅在使用 setBrowserCookie 作为请求头名称时,适用于网页速度(浏览器)监视器。

本文档对您有帮助吗?

您愿意帮助我们改进文档吗?请告诉我们哪些方面可以做得更好。


很抱歉本文档未能让您满意。我们希望了解可以从哪些方面改进您的体验。


感谢您抽出时间分享反馈。我们将利用您的反馈来改进在线帮助资源。

短链接已复制!