Skip to content

Server Kit 开发指南

Server Kit 是 Genstore SDK 的服务端组件,提供认证管理、会话处理等核心功能,是构建 Genstore 应用的基础。

安装

CLI 项目(推荐)

通过 CLI 创建的项目已自动预置 Server Kit,无需单独安装。

自定义项目

bash
npm install @genstore/app-server-kit

快速开始

创建应用实例

使用 ServerApp 创建应用实例,完成基础配置:

jsx
import { ServerApp } from '@genstore/app-server-kit';
import { MemorySessionStorage } from '@genstore/app-server-kit/utils';

const blazeApp = ServerApp({
  clientID: process.env.DevClientID || '',
  clientSecret: process.env.DevClientSecret || '',
  sessionStorage: new MemorySessionStorage(),
  scopes: process.env.SCOPES?.split(','),
  appUrl: process.env.APP_URL || '',
  auth: {
    path: '/auth',
  },
  isEmbeddedApp: true,
  useOnlineTokens: false,
});

TIP

注意:应用实例应在代码中只创建一次。推荐在应用初始化时创建并导出实例。

配置项

参数类型描述
clientIDstring应用的唯一标识符,用于应用身份认证
clientSecretstring应用密钥,用于安全校验
sessionStorageSessionStorage会话存储实现,用于管理用户会话,需要提供:
- loadSession
- storeSession
- deleteSession
scopesstring应用所需的权限范围列表
appUrlstring应用的访问地址
auth.pathstring认证路径,默认为 '/auth'
isEmbeddedAppboolean是否为嵌入式应用
useOnlineTokensbooleantoken 模式:
- true:表示在线 token
- false:表示离线 token

核心 API

blazeApp.authenticate(request: Request)

处理请求认证,获取会话信息。认证失败时会自动重定向到 auth.path

返回:Session 对象

属性类型描述
accessTokenstring用于访问 Genstore 开放 API 的令牌