状态说明
以下每个 SDK 均带有两种状态标签之一,与 XID 平台支持矩阵对齐。两种标签都不代表生产就绪声明。
| 状态 | 含义 |
|---|---|
| 当前包 | 在 XID 仓库中维护的 TypeScript 包,包含源码、测试和 workspace 连接。 |
| 已实现 · 本地已验证 | 可在本地工具链上编译并通过单元测试套件的原生 SDK。对真实生产 IdP 的往返验证仍需人工核实。 |
服务端 SDK
Web 标准运行时(Cloudflare Workers、Node.js、Bun、Deno)经 Web Crypto 共用 @xid-kit/backend;其他语言使用各自原生 SDK。全部做 networkless JWT 验证、请求认证和 webhook 验证。
| 运行时或语言 | 包或目录 | 状态 | 职责 |
|---|---|---|---|
| Cloudflare Workers | @xid-kit/backend |
当前包 | 无网络 JWT 验证、请求认证和 webhook 验证。 |
| Node.js | @xid-kit/backend |
当前包 | 无网络 JWT 验证、请求认证和 webhook 验证。 |
| Bun | @xid-kit/backend |
当前包 | 无网络 JWT 验证、请求认证和 webhook 验证。 |
| Deno | @xid-kit/backend |
当前包 | 无网络 JWT 验证、请求认证和 webhook 验证。 |
| Go | sdk/go |
已实现 · 本地已验证 | 无网络 JWT 验证、请求认证和 webhook 验证。 |
| Java | sdk/java |
已实现 · 本地已验证 | 无网络 JWT 验证、请求认证和 webhook 验证。 |
| Rust | sdk/rust |
已实现 · 本地已验证 | 无网络 JWT 验证、请求认证和 webhook 验证。 |
| PHP | sdk/php |
已实现 · 本地已验证 | 无网络 JWT 验证、请求认证和 webhook 验证。 |
| Ruby | sdk/ruby |
已实现 · 本地已验证 | 无网络 JWT 验证、请求认证和 webhook 验证。 |
| Python | sdk/python |
已实现 · 本地已验证 | 无网络 JWT 验证、请求认证和 webhook 验证。 |
| .NET | sdk/dotnet |
已实现 · 本地已验证 | 无网络 JWT 验证、请求认证和 webhook 验证。 |
客户端 SDK:Web 框架
| 框架 | 包或目录 | 状态 | 职责 |
|---|---|---|---|
| Vanilla JS / Web | @xid-kit/core |
当前包 | 浏览器客户端、会话存储、token 缓存和 Management API 辅助工具。 |
| React | @xid-kit/react |
当前包 | Provider、hooks、控制组件、用户 UI 和组织 UI。 |
| Next.js | @xid-kit/nextjs |
当前包 | Middleware、App Router 辅助工具、Pages Router 辅助工具和 React 重新导出。 |
| Vue | @xid-kit/vue |
当前包 | Provider、hooks 或 composables,以及预制的用户与组织组件。 |
| Nuxt | @xid-kit/nuxt |
当前包 | Provider、hooks 或 composables,以及预制的用户与组织组件。 |
| Svelte / SvelteKit | @xid-kit/svelte |
当前包 | Provider、hooks 或 composables,以及预制的用户与组织组件。 |
| Angular | @xid-kit/angular |
当前包 | Provider、hooks 或 composables,以及预制的用户与组织组件。 |
| Remix | @xid-kit/remix |
当前包 | Provider、hooks 或 composables,以及预制的用户与组织组件。 |
| Astro | @xid-kit/astro |
当前包 | Provider、hooks 或 composables,以及预制的用户与组织组件。 |
| SolidJS | @xid-kit/solid |
当前包 | Provider、hooks 或 composables,以及预制的用户与组织组件。 |
客户端 SDK:移动端
| 平台 | 包或目录 | 状态 | 职责 |
|---|---|---|---|
| React Native | @xid-kit/react-native |
当前包 | Hosted 重定向、deep link callback、PKCE S256 和安全存储适配器契约。 |
| Expo | @xid-kit/expo |
当前包 | Expo Router 集成、AuthSession 和 SecureStore 适配器。 |
| Flutter | sdk/flutter |
已实现 · 本地已验证 | Hosted 重定向、app link callback 和安全存储适配器。 |
| iOS | sdk/ios |
已实现 · 本地已验证 | ASWebAuthenticationSession、Keychain 存储和 PKCE S256。 |
| Android | sdk/android |
已实现 · 本地已验证 | Custom Tabs、App Links、Keystore 支持的存储和 PKCE S256。 |
客户端 SDK:桌面端
| 平台 | 包或目录 | 状态 | 职责 |
|---|---|---|---|
| macOS | sdk/macos |
已实现 · 本地已验证 | ASWebAuthenticationSession、Keychain 存储和 PKCE S256。 |
| Windows | sdk/windows |
已实现 · 本地已验证 | WebView2 重定向、DPAPI 安全存储和 PKCE S256。 |
| Linux | sdk/linux |
已实现 · 本地已验证 | 系统浏览器重定向、Secret Service 存储和 PKCE S256。 |
| Electron | @xid-kit/electron |
当前包 | 主进程与渲染进程 bridge、safeStorage 以及 loopback 或自定义 scheme callback。 |
| Tauri | @xid-kit/tauri |
当前包 | Rust 后端 bridge、操作系统 keychain 和 PKCE S256。 |
共享原生契约
- 原生公开客户端使用带 PKCE S256 的授权码流程。不支持 implicit flow 和 password grant。
- 重定向 callback 为声明式 app link、universal link、自定义 scheme 或平台等效 callback URL。
- 存储适配器将 refresh token 或会话缓存值保存在平台安全存储中,从不存储客户端密钥。
- JS 和 TS 原生 SDK(React Native、Expo)使用 React provider 加 hook 模型:XidProvider、useSignIn 和 useSignOut。
- 其他原生 SDK(iOS、Android、Flutter、桌面端)使用函数式 configure、signIn 和 handleRedirect API 接口。
包使用指南
每个 SDK 都有专属参考页面,包含安装步骤、API 表格和可复制的示例。侧边栏中 SDK 包分组列出了所有参考页面;最常用的 Web 包有:
- @xid-kit/core — 浏览器会话、token 管理及 Management API 辅助工具。
- @xid-kit/backend — 无网络 JWT 验证、请求认证和 webhook 处理。
- @xid-kit/react — provider、hooks、控制组件和 UI 组件。
- @xid-kit/nextjs — middleware 及 App/Pages Router 服务端辅助工具。
- @xid-kit/react-native — 原生应用的 Hosted Auth 重定向、PKCE S256 和安全 token 存储。