# @capgo/capacitor-supabase 中文文档

规范地址：https://npmcn.com/package/%40capgo/capacitor-supabase/

版本：8\.2\.7
npm 元数据更新时间：2026-10-15T03:49:58.289Z
中文译文更新时间：2026-11-09T04:39:44.809Z
软件包许可：MPL-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40capgo/capacitor-supabase
原文对照：https://npmcn.com/package/%40capgo/capacitor-supabase/?lang=original
项目主页：https://capgo.app/docs/plugins/
源码仓库：https://github.com/Cap-go/capacitor-supabase

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：202 kB，23 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：@capacitor/core \>=8\.0\.0
- 首次发布：2026-01-14T13:30:54.186Z
- 最新版本发布：2026-10-15T03:49:57.988Z
- 近 30 天下载量：17499（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：21（近 12 个月 21 个）

## 中文简介

Capacitor- Auth、数据库和JWT访问的原生 SDK 组合

## 安装

```sh
npm install @capgo/capacitor-supabase
```

也可以使用：`pnpm add @capgo/capacitor-supabase`、`yarn add @capgo/capacitor-supabase`、`bun add @capgo/capacitor-supabase`

## README

# @ capgo/ 电容器- supabase

使用您的 Capacitor 应用程序中的本地 SDK 进行认证和数据库呼叫, 并获取您的网页层的 JWT .

[![Capgo - Build Capacitor apps with AI, ship updates instantly](https://capgo.app/readme-banner.svg?repo=Cap-go/capacitor-supabase)](https://capgo.app/?ref=plugin_supabase)

**队长**:在几分钟内将修正推给您的 Capacitor 用户,在没有Mac的情况下构建已签名的iOS和Android apps,并在一击中回滚.

## [\*免费开始\*](https://capgo.app/register/?ref=plugin_supabase)

14天无限自由审判. 不需要信用卡

> 🤖 **建筑与AI编码代理?** 安装 [Capgo 技能](https://capgo.app/skills/?ref=plugin_supabase) 所以克劳德代码,代码,光标,副驾驶,或双子座CLI知道如何安装和使用 `@capgo/capacitor-supabase` 在您的电容应用程序中: `npx skills add Cap-go/capgo-skills`。然后问你的经纪人: _将@capgo/capor-supabase 添加到我的Capacitor app上,并把它连接起来。"_ [代理设置指南](https://capgo.app/agents/?ref=plugin_supabase) • 妇女 [主机磁共振](https://capgo.app/docs/ai/mcp/?ref=plugin_supabase)

![@capgo/capacitor-supabase for Capacitor apps](https://raw.githubusercontent.com/Cap-go/capacitor-supabase/main/assets/github-social-preview.png)

## 主要特点

-   **认证方法**电子邮件和密码、注册、匿名、OAuth供应商和检察官办公室 `verifyOtp()`。 。 。 .
-   **会议**数字 : `getSession()`, (中文(简体) ), `refreshSession()`, (中文(简体) ), `setSession()`, (中文(简体) ), `getUser()` 财务报告和审定财务报表 `signOut()`,与 `authStateChange` 活动.
-   **JWT 访问**: 会话包括您自己的 API 电话的访问符 .
-   **数据库**数字 : `select()`, (中文(简体) ), `insert()`, (中文(简体) ), `update()` 财务报告和审定财务报表 `delete()` 在你们的桌子上.
-   **原生 SDKs**: iOS上的supabase-swift和Android上的supabase-kt. 互联网档案馆的存檔,存档日期2014-12-02.
-   **平台**: iOS和Android. 互联网档案馆的存檔,存档日期2013-12-21. 在网络上, 使用 `@supabase/supabase-js` 直接说.

## 为什么是Supabase队长?

本地 SDK 组合 **真实本地认证** 使用 JWT 令牌访问您的 Capactor 应用程序 :

-   **本地 SDK 整合** - 全面访问Supabase的本地iOS和Android SDKs
-   **JWT 令牌访问** - 从本地认证获取 JWT 令牌供 JavaScript/ web 层使用
-   **完整认证方法** - 电子邮件/密码、OAuth、OTP、魔法链接等等
-   **会话管理** - 以自动刷新方式处理本地会话
-   **数据库操作** - Supabase表格的本地CRUD操作
-   **Auth 状态听众** - 实时认证状态变化事件
-   **混合办法** - 数据库查询使用带有 supabase-js 的本地认证
-   **自由和开放源代码** - 不需要有偿服务

适合需要安全本土认证的应用程序,同时利用Supabase强大的后端服务.

**为什么只有Auth和基本的DB操作?** Supabase JS SDK已经在Capacitor为大多数特性(Realtime,存储,边缘函数等)做了出色的工作. 为每个特点建造本土桥梁将增加复杂性,而没有实际好处。 此插件的焦点 **认证** 当地SDK提供实际价值(安全信使存储、OAuth流量、生物鉴别)。 其它的,只要使用 `@supabase/supabase-js` 与来自本地的JWT .

**为什么不把所有东西都从本土连接起来呢?**

-   **无业绩收益** - 桥面(JSON系列化/JSON与原住地之间的隔离)否定了跳过HTTP飞行前请求的任何好处。 你只是把转换成本从网络转移到CPU.
-   **类型安全问题** – 原始SDK需要每张桌子/平地打入型号. 您需要定义 Swift/Kotlin 类型 用于您的整个数据库计划并保持同步 。 与JS,你得到动态打字 刚刚工作.
-   **赡养负担** - 每一次Supabase SDK更新都需要更新3个代码库(JS,iOS,Android)而不只是一个. JS SDK已经得到了Supabase的妥善维护.

## 文档

这里有最完整的医生: [https://capgo.app/docs/plugins/supabase/ 页面存档备份,存于互联网档案馆](https://capgo.app/docs/plugins/supabase/)

## 兼容性

| 插件版本 | 电容兼容性 | 维护 |
| --- | --- | --- |
| 联合国 | 联合国 | ✅ |
| 页:1 | 页:1 | 应要求 |
| 页:1 | 页:1 | ❌ |
| 页:1 | 页:1 | ❌ |

> **说明:** 此插件的主要版本沿用了Capacitor的主要版本. 使用匹配您的 Capacitor 安装的版本( 如 Capacitor 8 的插件 v8) 。 只有最新的主要版本得到积极维护.

## 安装

您可以使用我们的 AI 辅助设置安装插件 。 使用以下命令将 Capgo 技能添加到您的 AI 工具 :

```bash
npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins
```

然后使用下列提示:

```text
Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-supabase` plugin in my project.
```

如果您更喜欢手动设置,请通过运行以下命令来安装插件,并遵循下面的平台特定指令:

```bash
npm install @capgo/capacitor-supabase
npx cap sync
```

## iOS 设置

不需要额外设置。 插件使用 Swift 套件管理器包含 Supabase Swift SDK.

## Android 设置

插件要求最低SDK为26 (Android 8.0). 保证你 `android/variables.gradle` 拥有:

```gradle
minSdkVersion = 26
```

## 使用量

### 初始化客户端

```typescript
import { CapacitorSupabase } from '@capgo/capacitor-supabase';

await CapacitorSupabase.initialize({
  supabaseUrl: 'https://your-project.supabase.co',
  supabaseKey: 'your-anon-key'
});
```

### 认证

#### 签名 用电子邮件/密码输入

```typescript
const { session, user } = await CapacitorSupabase.signInWithPassword({
  email: 'user@example.com',
  password: 'password123'
});

// Access the JWT token
console.log('JWT:', session?.accessToken);
```

#### 注册

```typescript
const { session, user } = await CapacitorSupabase.signUp({
  email: 'newuser@example.com',
  password: 'password123',
  data: { name: 'John Doe' }
});
```

#### 匿名签名

```typescript
const { session, user } = await CapacitorSupabase.signInAnonymously();
console.log('Anonymous user ID:', user?.id);
```

#### OAuth 签名

```typescript
await CapacitorSupabase.signInWithOAuth({
  provider: 'google',
  redirectTo: 'myapp://callback'
});
```

#### 检察官办公室签名

```typescript
// Send OTP
await CapacitorSupabase.signInWithOtp({
  email: 'user@example.com'
});

// Verify OTP
const { session, user } = await CapacitorSupabase.verifyOtp({
  email: 'user@example.com',
  token: '123456',
  type: 'email'
});
```

#### 签出

```typescript
await CapacitorSupabase.signOut();
```

### 会话管理

#### 获取当前会话

```typescript
const { session } = await CapacitorSupabase.getSession();
if (session) {
  console.log('JWT:', session.accessToken);
  console.log('Refresh Token:', session.refreshToken);
  console.log('Expires At:', session.expiresAt);
}
```

#### 刷新会话

```typescript
const { session } = await CapacitorSupabase.refreshSession();
```

#### 获取当前用户

```typescript
const { user } = await CapacitorSupabase.getUser();
if (user) {
  console.log('User ID:', user.id);
  console.log('Email:', user.email);
}
```

#### 手动设定会话

```typescript
const { session } = await CapacitorSupabase.setSession({
  accessToken: 'eyJ...',
  refreshToken: 'abc123'
});
```

### 收听 Auth 状态更改

```typescript
const listener = await CapacitorSupabase.addListener(
  'authStateChange',
  ({ event, session }) => {
    console.log('Auth event:', event);
    // Events: INITIAL_SESSION, SIGNED_IN, SIGNED_OUT, TOKEN_REFRESHED, USER_UPDATED
    if (session) {
      console.log('JWT:', session.accessToken);
    }
  }
);

// Later, remove the listener
listener.remove();
```

### 使用带有 @supabase/ supabase-js的 JWT

主要使用案例是从本地认证获取JWT,并与JavaScript Supabase客户端使用:

```typescript
import { createClient } from '@supabase/supabase-js';
import { CapacitorSupabase } from '@capgo/capacitor-supabase';

// Initialize native client
await CapacitorSupabase.initialize({
  supabaseUrl: 'https://your-project.supabase.co',
  supabaseKey: 'your-anon-key'
});

// Sign in natively
await CapacitorSupabase.signInWithPassword({
  email: 'user@example.com',
  password: 'password'
});

// Get session with JWT
const { session } = await CapacitorSupabase.getSession();

// Create JS client with the native session
const supabase = createClient(
  'https://your-project.supabase.co',
  'your-anon-key',
  {
    global: {
      headers: {
        Authorization: `Bearer ${session?.accessToken}`
      }
    }
  }
);

// Now use supabase-js as normal
const { data } = await supabase.from('table').select('*');
```

### 数据库操作( Native)

插件还支持本地数据库操作 :

#### 选择

```typescript
const { data, error } = await CapacitorSupabase.select({
  table: 'users',
  columns: 'id, name, email',
  filter: { active: true },
  limit: 10,
  orderBy: 'created_at',
  ascending: false
});
```

#### 插入

```typescript
const { data, error } = await CapacitorSupabase.insert({
  table: 'posts',
  values: { title: 'Hello', content: 'World' }
});
```

#### 更新

```typescript
const { data, error } = await CapacitorSupabase.update({
  table: 'posts',
  values: { title: 'Updated Title' },
  filter: { id: 1 }
});
```

#### 删除

```typescript
const { data, error } = await CapacitorSupabase.delete({
  table: 'posts',
  filter: { id: 1 }
});
```

## API 密码

-   [`initialize(...)`](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-initialize)
-   [`signInWithPassword(...)`](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-signinwithpassword)
-   [`signUp(...)`](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-signup)
-   [`signInAnonymously()`](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-signinanonymously)
-   [`signInWithOAuth(...)`](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-signinwithoauth)
-   [`signInWithOtp(...)`](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-signinwithotp)
-   [`verifyOtp(...)`](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-verifyotp)
-   [`signOut()`](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-signout)
-   [`getSession()`](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-getsession)
-   [`refreshSession()`](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-refreshsession)
-   [`getUser()`](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-getuser)
-   [`setSession(...)`](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-setsession)
-   [`addListener('authStateChange', ...)`](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-addlistenerauthstatechange-)
-   [`removeAllListeners()`](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-removealllisteners)
-   [`select(...)`](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-select)
-   [`insert(...)`](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-insert)
-   [`update(...)`](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-update)
-   [`delete(...)`](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-delete)
-   [`getPluginVersion()`](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-getpluginversion)
-   [接口](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-interfaces)
-   [类型异名](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-type-aliases)

用于本地Supabase SDK整合的 Capacitor Supabase插件.

此插件提供了本地iOS和Android Supabase SDK功能 具有检索JWT 令牌用于JavaScript/web层的能力.

### 初始化(...)

```typescript
initialize(options: SupabaseConfig) => Promise<void>
```

以您的项目证书初始化 Supabase 客户端 . 在使用其他方法之前必须先打电话.

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| **`options`** | `[SupabaseConfig](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-supabaseconfig)` | \- 配置选项,包括 URL 和 API 密钥 |

**自:** 0.0.1 资源

* * *

### 签名 With Password (...)

```typescript
signInWithPassword(options: SignInWithPasswordOptions) => Promise<AuthResult>
```

用电子邮件和密码签名 .

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| **`options`** | `[SignInWithPasswordOptions](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-signinwithpasswordoptions)` | \- 电子邮件和密码证明 |

**回返情况:** `Promise<[AuthResult](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-authresult)>`

**自:** 0.0.1 资源

* * *

### 注册(...)

```typescript
signUp(options: SignUpOptions) => Promise<AuthResult>
```

注册有电子邮件和密码的新用户 .

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| **`options`** | `[SignUpOptions](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-signupoptions)` | \- 电子邮件、密码和可选用户元数据 |

**回返情况:** `Promise<[AuthResult](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-authresult)>`

**自:** 0.0.1 资源

* * *

### 匿名签名 ()

```typescript
signInAnonymously() => Promise<AuthResult>
```

匿名签名. 创建临时的来宾会话,不需要证书.

**回返情况:** `Promise<[AuthResult](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-authresult)>`

**自:** 0.0.1 资源

* * *

### 签名 WithOAuth (...)

```typescript
signInWithOAuth(options: SignInWithOAuthOptions) => Promise<void>
```

与OAuth供应商签约. 打开提供者的认证页面.

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| **`options`** | `[SignInWithOAuthOptions](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-signinwithoauthoptions)` | \- OAuth 提供者和可选重定向 URL |

**自:** 0.0.1 资源

* * *

### 签名 InWithOtp (...)

```typescript
signInWithOtp(options: SignInWithOtpOptions) => Promise<void>
```

与通过电子邮件或短信发送的OTP(一次性密码)签约.

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| **`options`** | `[SignInWithOtpOptions](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-signinwithotpoptions)` | \- 发送检察官办公室的电子邮件或电话号码 |

**自:** 0.0.1 资源

* * *

### 校验 Otp (...)

```typescript
verifyOtp(options: VerifyOtpOptions) => Promise<AuthResult>
```

检查一个检察官办公室的标志.

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| **`options`** | `[VerifyOtpOptions](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-verifyotpoptions)` | \- 电子邮件/电话、信使和核查类型 |

**回返情况:** `Promise<[AuthResult](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-authresult)>`

**自:** 0.0.1 资源

* * *

### 符号输出( C)

```typescript
signOut() => Promise<void>
```

签名当前用户 .

**自:** 0.0.1 资源

* * *

### 获取会议( C)

```typescript
getSession() => Promise<{ session: Session | null; }>
```

如果存在的话, 请访问当前会话 . 用 JWT 访问符返回会话 .

**回返情况:** `Promise<{ session: [Session](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-session) | null; }>`

**自:** 0.0.1 资源

* * *

### 刷新会议( )

```typescript
refreshSession() => Promise<{ session: Session | null; }>
```

刷新当前会话并获取新符号 .

**回返情况:** `Promise<{ session: [Session](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-session) | null; }>`

**自:** 0.0.1 资源

* * *

### 获取用户 ()

```typescript
getUser() => Promise<{ user: User | null; }>
```

获取当前认证的用户 .

**回返情况:** `Promise<{ user: [User](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-user) | null; }>`

**自:** 0.0.1 资源

* * *

### 设置会议(...)

```typescript
setSession(options: SetSessionOptions) => Promise<{ session: Session | null; }>
```

手动设定会话带有访问权限并刷新符号 . 用于恢复会话或与外部认证合并 .

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| **`options`** | `[SetSessionOptions](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-setsessionoptions)` | \- 进入和刷新信使 |

**回返情况:** `Promise<{ session: [Session](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-session) | null; }>`

**自:** 0.0.1 资源

* * *

### 添加倾听器( “ 自动状态变化 ” ,...)

```typescript
addListener(eventName: 'authStateChange', listenerFunc: (data: AuthStateChange) => void) => Promise<PluginListenerHandle>
```

聆听认证状态的更改 .

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| **`eventName`** | `'authStateChange'` | \- 一定是"澳洲之变" |
| **`listenerFunc`** | `(data: [AuthStateChange](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-authstatechange)) => void` | \- 认证状态变化的召回函数 |

**回返情况:** `Promise<[PluginListenerHandle](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-pluginlistenerhandle)>`

**自:** 0.0.1 资源

* * *

### 删除所有收听器( )

```typescript
removeAllListeners() => Promise<void>
```

删除所有用于认证状态更改的听众 .

**自:** 0.0.1 资源

* * *

### 选择(...)

```typescript
select<T = unknown>(options: SelectOptions) => Promise<QueryResult<T[]>>
```

在表格中执行 SELECT 查询 .

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| **`options`** | `[SelectOptions](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-selectoptions)` | \- 查询选项,包括表格、列、过滤器 |

**回返情况:** `Promise<[QueryResult](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-queryresult)<T[]>>`

**自:** 0.0.1 资源

* * *

### 插入(...)

```typescript
insert<T = unknown>(options: InsertOptions) => Promise<QueryResult<T>>
```

将数据插入表格.

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| **`options`** | `[InsertOptions](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-insertoptions)` | \- 要插入的表格名称和值 |

**回返情况:** `Promise<[QueryResult](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-queryresult)<T>>`

**自:** 0.0.1 资源

* * *

### 更新(...)

```typescript
update<T = unknown>(options: UpdateOptions) => Promise<QueryResult<T>>
```

更新表格中的数据.

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| **`options`** | `[UpdateOptions](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-updateoptions)` | \- 表格名称、更新值和过滤条件 |

**回返情况:** `Promise<[QueryResult](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-queryresult)<T>>`

**自:** 0.0.1 资源

* * *

### 删除(...)

```typescript
delete<T = unknown>(options: DeleteOptions) => Promise<QueryResult<T>>
```

删除表格中的数据.

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| **`options`** | `[DeleteOptions](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-deleteoptions)` | \- 表格名称和过滤条件 |

**回返情况:** `Promise<[QueryResult](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-queryresult)<T>>`

**自:** 0.0.1 资源

* * *

### 获取 PluginVersion ()

```typescript
getPluginVersion() => Promise<{ version: string; }>
```

获取本地 Capacitor 插件版本 .

**回返情况:** `Promise<{ version: string; }>`

**自:** 0.0.1 资源

* * *

### 接口

#### Supabase 配置

初始化Supabase客户端的配置选项 .

| Prop | 类型 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`supabaseUrl`** | `string` | Supabase项目 URL. | 0.0.1 资源 |
| **`supabaseKey`** | `string` | Supabase匿名/公用密钥. | 0.0.1 资源 |

#### 认证结果

返回会话的认证操作的结果 .

| Prop | 类型 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`session`** | `[Session](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-session) | null` | 如果认证成功, 则会话 . | 0.0.1 资源 |
| **`user`** | `[User](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-user) | null` | 成功者为认证用户 . | 0.0.1 资源 |

#### 会议

[会议](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-session) 包含认证符号的对象.

| Prop | 类型 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`accessToken`** | `string` | JWT访问标志. 用于认证的 API 请求 . | 0.0.1 资源 |
| **`refreshToken`** | `string` | 获取新访问令牌的刷新令牌 . | 0.0.1 资源 |
| **`tokenType`** | `string` | 托肯类型(通常为"承担者"). | 0.0.1 资源 |
| **`expiresIn`** | `number` | 访问令牌到期前秒数 . | 0.0.1 资源 |
| **`expiresAt`** | `number` | 令牌过期时解去九时戳. | 0.0.1 资源 |
| **`user`** | `[User](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-user)` | 认证用户 . | 0.0.1 资源 |

#### 用户

[用户](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-user) 从认证操作返回对象.

| Prop | 类型 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`id`** | `string` | 用户独有的标识符 . | 0.0.1 资源 |
| **`email`** | `string` | [用户](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-user)电子邮件地址 . | 0.0.1 资源 |
| **`phone`** | `string` | [用户](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-user)电话号码. | 0.0.1 资源 |
| **`createdAt`** | `string` | 创建用户的时间戳 . | 0.0.1 资源 |
| **`lastSignInAt`** | `string` | 用户最后一次签名时的时标 . | 0.0.1 资源 |
| **`userMetadata`** | `[Record](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-record)<string, unknown>` | [用户](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-user) 元数据(海关字段). | 0.0.1 资源 |
| **`appMetadata`** | `[Record](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-record)<string, unknown>` | App 元数据. | 0.0.1 资源 |

#### 以 Password 选项签名

电子邮件/密码签名选项 .

| Prop | 类型 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`email`** | `string` | [用户](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-user)电子邮件地址 . | 0.0.1 资源 |
| **`password`** | `string` | [用户](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-user)密码. | 0.0.1 资源 |

#### 签名选项

电子邮件/密码输入选项 .

| Prop | 类型 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`email`** | `string` | [用户](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-user)电子邮件地址 . | 0.0.1 资源 |
| **`password`** | `string` | [用户](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-user)密码. | 0.0.1 资源 |
| **`data`** | `[Record](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-record)<string, unknown>` | 可选用户元数据与用户一起存储. | 0.0.1 资源 |

#### 以 Outh 选项签名

OAuth 登录的选项 .

| Prop | 类型 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`provider`** | `[OAuthProvider](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-oauthprovider)` | OAuth提供商使用. | 0.0.1 资源 |
| **`redirectTo`** | `string` | URL 重新定向到认证后 . | 0.0.1 资源 |
| **`scopes`** | `string` | OAuth 范围请求 . | 0.0.1 资源 |

#### 以 Otp 选项签名

检察官办公室的登录选项.

| Prop | 类型 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`email`** | `string` | [用户](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-user)'email 地址( 如果不提供电话则需要) . | 0.0.1 资源 |
| **`phone`** | `string` | [用户](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-user)电话号码( 不提供电子邮件则需要) . | 0.0.1 资源 |
| **`shouldCreateUser`** | `boolean` | 如果设置为虚假,此方法不会创建新的用户. 默认为真. | 8.1.1 国家 |

#### 校验 Otp 选项

核查检察官办公室的选项.

| Prop | 类型 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`email`** | `string` | [用户](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-user)'email 地址( 如果不提供电话则需要) . | 0.0.1 资源 |
| **`phone`** | `string` | [用户](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-user)电话号码( 不提供电子邮件则需要) . | 0.0.1 资源 |
| **`token`** | `string` | 通过电子邮件/短信收到的检察官办公室的令牌. | 0.0.1 资源 |
| **`type`** | `'sms' | 'email' | 'magiclink' | 'signup' | 'recovery'` | 检察官办公室核查的类型. | 0.0.1 资源 |

#### 设定会议选项

手动设置会话的选项 .

| Prop | 类型 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`accessToken`** | `string` | 出入证. | 0.0.1 资源 |
| **`refreshToken`** | `string` | 刷新标志. | 0.0.1 资源 |

#### 插件听筒

| Prop | 类型 |
| --- | --- |
| **`remove`** | `() => Promise<void>` |

#### Auth State 变化

认证状态更改回调数据 .

| Prop | 类型 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`event`** | `[AuthChangeEvent](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-authchangeevent)` | 认证事件的类型 . | 0.0.1 资源 |
| **`session`** | `[Session](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-session) | null` | 本届会议(签署后取消). | 0.0.1 资源 |

#### 查询结果

数据库查询结果.

| Prop | 类型 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`data`** | `T | null` | 查询结果数据 . | 0.0.1 资源 |
| **`error`** | `string | null` | 如果查询失败, 错误消息 . | 0.0.1 资源 |
| **`count`** | `number` | 受影响的行数(用于插入/更新/删除). | 0.0.1 资源 |

#### 选择选项

用于选择查询的数据库选项.

| Prop | 类型 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`table`** | `string` | 要查询的表格名称 . | 0.0.1 资源 |
| **`columns`** | `string` | 要选择的列( 默认 : "\*" ) . | 0.0.1 资源 |
| **`filter`** | `[Record](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-record)<string, unknown>` | 过滤条件作为密钥值对 . | 0.0.1 资源 |
| **`limit`** | `number` | 要返回的最大行数 . | 0.0.1 资源 |
| **`offset`** | `number` | 要跳过行数 . | 0.0.1 资源 |
| **`orderBy`** | `string` | 列为取序. | 0.0.1 资源 |
| **`ascending`** | `boolean` | 请指示. | 0.0.1 资源 |
| **`single`** | `boolean` | 返回一行而不是数组. | 0.0.1 资源 |

#### 插入选项

数据库插入查询选项.

| Prop | 类型 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`table`** | `string` | 要插入的表格名称 . | 0.0.1 资源 |
| **`values`** | `[Record](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-record)<string, unknown> | [Record](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-record)<string, unknown>[]` | 要插入的数据( 单个对象或一系列对象) . | 0.0.1 资源 |

#### 更新选项

数据库更新查询的选项 .

| Prop | 类型 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`table`** | `string` | 要更新的表格名称 . | 0.0.1 资源 |
| **`values`** | `[Record](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-record)<string, unknown>` | 需要更新的数据. | 0.0.1 资源 |
| **`filter`** | `[Record](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-record)<string, unknown>` | 过滤条件以匹配行以更新 . | 0.0.1 资源 |

#### 删除选项

数据库删除查询的选项 .

| Prop | 类型 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`table`** | `string` | 要删除的表格名称 . | 0.0.1 资源 |
| **`filter`** | `[Record](https://npmcn.com/package/%40capgo/capacitor-supabase/#readme-record)<string, unknown>` | 过滤条件以匹配要删除的行 . | 0.0.1 资源 |

### 类型异名

#### 记录

构造 T 类型 K 的一组属性类型

`{ [P in K]: T; }`

#### 提供认证

支持 OAuth 供应商 .

`'apple' | 'azure' | 'bitbucket' | 'discord' | 'facebook' | 'figma' | 'github' | 'gitlab' | 'google' | 'kakao' | 'keycloak' | 'linkedin' | 'linkedin_oidc' | 'notion' | 'slack' | 'slack_oidc' | 'spotify' | 'twitch' | 'twitter' | 'workos' | 'zoom'`

#### AuthChangeEvent 活动

Auth 状态更改事件类型 .

`'INITIAL_SESSION' | 'SIGNED_IN' | 'SIGNED_OUT' | 'TOKEN_REFRESHED' | 'USER_UPDATED' | 'PASSWORD_RECOVERY'`

## 许可证

MPL - 2.0 导弹

## 常见问题

### @capgo/capacitor-supabase 是什么？

Capacitor- Auth、数据库和JWT访问的原生 SDK 组合

### 如何安装 @capgo/capacitor-supabase？

在项目目录运行 npm install @capgo/capacitor-supabase，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@capacitor/core（\>=8\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @capgo/capacitor-supabase 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @capgo/capacitor-supabase 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @capgo/capacitor-supabase 可以商用吗？

@capgo/capacitor-supabase 使用 MPL-2\.0 许可。弱 Copyleft：可以商用，也可以和闭源代码一起使用；但如果分发时修改了 MPL 授权的文件，这些文件的修改需以 MPL 开源。以上为概括，不构成法律意见，请以许可原文为准。

### @capgo/capacitor-supabase 的下载量有多少？

根据 npm 官方下载统计，@capgo/capacitor-supabase 在 2026/10/09 – 2026/11/07 这 30 天内被下载 17,499 次，日均约 583 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @capgo/capacitor-supabase 还在维护吗？

最新版本 8\.2\.7 发布于 2026/10/15（25 天前）；至今共发布 21 个版本，其中过去 12 个月发布了 21 个；首次发布于 2026/01/14。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

