You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用JS执行注册操作时如何查找获取sw-context-token?

JS开发注册功能时获取sw-context-token的方法

sw-context-token是Shopware 6生态下前端接口校验用的上下文令牌,注册功能开发时可以通过以下三种方式获取:

  • 直接读取浏览器本地存储
    正常访问Shopware站点后,令牌会默认持久化存储在浏览器本地,JS可以直接读取:
    // 优先读localStorage存储
    let swContextToken = localStorage.getItem('sw-context-token');
    // 部分场景令牌存在sessionStorage,做兜底读取
    if (!swContextToken) {
      swContextToken = sessionStorage.getItem('sw-context-token');
    }
    
    调试时也可以直接打开浏览器开发者工具的「应用」面板,展开对应域名下的本地存储项,直接看到sw-context-token的键值。
  • 从接口响应头捕获新令牌
    首次访问、本地无有效令牌的场景下,调用任意Store API(包括注册接口)时,服务端会在响应头里返回新生成的sw-context-token,发请求时直接读取存储即可:
    // 以fetch调用注册接口为例
    const registerResponse = await fetch('/store-api/account/register', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'Accept': 'application/json'
      },
      body: JSON.stringify(registerFormData)
    });
    // 提取响应头里的上下文令牌
    const newContextToken = registerResponse.headers.get('sw-context-token');
    // 存到本地后续接口复用
    if (newContextToken) {
      localStorage.setItem('sw-context-token', newContextToken);
    }
    
  • 调试阶段快速核对令牌值
    打开浏览器开发者工具的「网络」面板,筛选任意/store-api/前缀的请求,点击请求查看「请求头」板块,就能看到当前请求携带的sw-context-token,和参考截图位置完全一致。

注意:调用注册接口时不需要提前手动生成令牌,如果请求没带有效sw-context-token,服务端会自动生成新令牌随响应返回,直接读取存储即可。

sw-context-token请求头位置参考截图

内容的提问来源于stack exchange,提问作者user18628737

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 12:12:20