SuperAPI AI 工具集

sfnext-authentication

编程与开发

查看项目

更新于 10-16 05:44

技能介绍

用途:该技能用于在 Storefront Next 中实现认证,围绕 SLAS(Shopper Login and API Access Service)的拆分 Cookie 架构,区分服务端与客户端的认证职责。

主要能力:服务端中间件 auth.server.ts 负责管理 SLAS 令牌、写入 Cookie 并处理令牌刷新;React Context(AuthProvider)通过 useAuth() 向组件提供非敏感的公开会话数据,如 userType、customerId 等。

Cookie 设计:cc-nx-g 为访客刷新令牌(30 天),cc-nx 为已注册用户刷新令牌(90 天),cc-at 为访问令牌(30 分钟),usid 为用户会话 ID,customerId 为客户 ID,后两者有效期与刷新令牌一致。要点是同一时刻只存在一个刷新令牌(访客或已注册,二者互斥),用户类型由当前存在的刷新令牌推断,Cookie 会自动以 siteId 命名空间化,令牌过期后自动刷新。

使用方式:在 loader/action 中通过 getAuth(context) 获取 accessToken、customerId、userType,可据此判断 isGuest 或 isRegistered;在组件中通过 useAuth() 读取会话数据。常见模式包括受保护路由(访客时 redirect('/login'))、按用户类型条件加载数据(如已注册用户加载 wishlist)。

限制与排查:auth 为 undefined 通常是未配置认证中间件,需确保 auth.server.ts 已配置;始终为访客可能是刷新令牌过期,检查 Cookie 有效期;SCAPI 中的令牌错误多与访问令牌过期有关,令牌会自动刷新,需检查 SLAS 客户端配置。相关技能包括 sfnext-data-fetching(在 loader 中使用认证上下文)、sfnext-configuration(SLAS 客户端配置)、sfnext-hybrid-storefronts(与 SFRA 的会话桥接)。资料未提供安装命令与代码示例之外的更多配置细节。