跳到正文
Indiana
控制台
章节目录 / 代码示例

代码示例

将已验证的 HTTP 接入接到你的 Next.js 登录和 Web 页面。

下载 HTTP 接入示例
API v1更新于

Next.js:HTTP 接入文件

前提:已完成快速开始,已有 Next.js App Router 应用与服务端登录。示例只用原生 fetch,不依赖 Indiana SDK;@/ 指向 src 或应用根目录。

  • 复制配置、服务端 helper 和会话路由,用现有认证模块实现 getSignedInUser。类型声明只描述约定,不是登录实现。
  • 复制浏览器模块和 GenerationAccess,在登录页面挂载。配置 generations Feature 和授予它的 Product 后可显示可用;空持有显示不可用。
.env.localShell
# 复制你的 App → Sandbox → SDK 接入中的配置INDIANA_BASE_URL=https://your-indiana-host.exampleINDIANA_PROJECT_ID=your-project-idINDIANA_SECRET_KEY=your-sandbox-server-key # 浏览器可见;不包含 Secret KeyNEXT_PUBLIC_INDIANA_BASE_URL=https://your-indiana-host.exampleNEXT_PUBLIC_INDIANA_PROJECT_ID=your-project-id

会话与换号恢复

connectIndiana 获取短期会话并读取一次权益;disconnectIndiana 清除内存 Token、取消请求并拒绝迟到响应。此最小示例适用于单个挂载;多个组件应共用应用级身份 Provider。

401 时确认自己的登录仍有效,再获取一次新会话;失败显示错误,不无限重试。写入重试保留原 requestId / idempotencyKey,避免重复购买或消费。

验证结果

检查匿名 401、登录后 200、no-store 响应、浏览器无 Secret Key,以及退出/换号后的迟到响应不能恢复旧身份。

接入独立业务能力

身份读取打通后按业务选择指南。购买、发券和扣量无需先创建 Funnel;需要多步骤编排时再接入 Funnel。

相关:购买与 Stripe Checkout

相关:余额、消费与预扣

相关:读取 Offering 给自己的 UI

相关:展示独立 Paywall