# @daveyplate/better-auth-tauri 中文文档

规范地址：https://npmcn.com/package/%40daveyplate/better-auth-tauri/

版本：0\.1\.9
npm 元数据更新时间：2026-06-03T20:54:42.927Z
中文译文更新时间：2026-11-11T15:48:07.577Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40daveyplate/better-auth-tauri
原文对照：https://npmcn.com/package/%40daveyplate/better-auth-tauri/?lang=original
项目主页：https://github.com/daveyplate/better-auth-tauri

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

- 包体积（解压后）：71.8 kB，36 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：@tauri-apps/api \>=2\.5\.0，@tauri-apps/plugin-deep-link \>=2\.2\.1，@tauri-apps/plugin-http \>=2\.4\.3，@tauri-apps/plugin-opener \>=2\.2\.6，@tauri-apps/plugin-os \>=2\.2\.1，better-auth \>=1\.2\.7，react \>=18\.0\.0，react-dom \>=18\.0\.0
- 首次发布：2025-04-26T05:01:31.408Z
- 最新版本发布：2026-06-03T20:54:42.772Z
- 近 30 天下载量：10078（2026-10-12 至 2026-11-10，npm 官方下载统计）
- 已发布版本数：33（近 12 个月 2 个）

## 中文简介

更好的 Auth Tauri 插件

## 安装

```sh
npm install @daveyplate/better-auth-tauri
```

也可以使用：`pnpm add @daveyplate/better-auth-tauri`、`yarn add @daveyplate/better-auth-tauri`、`bun add @daveyplate/better-auth-tauri`

## README

# 更好的 Auth Tauri 插件

用于 [更好的认证](https://better-auth.com/) 提供无缝集成 [陶里语Name](https://tauri.app/) 应用.

## 安装

```bash
# npm
npm install @daveyplate/better-auth-tauri

# pnpm
pnpm add @daveyplate/better-auth-tauri

# yarn
yarn add @daveyplate/better-auth-tauri

# bun
bun add @daveyplate/better-auth-tauri
```

## 先决条件

此插件需要下列 Tauri 插件 :

-   `@tauri-apps/plugin-deep-link`
-   `@tauri-apps/plugin-http`
-   `@tauri-apps/plugin-os`

请在您的 Tauri 应用程序中安装并正确配置 .

## 服务器设置

### 1\. 在您中配置 Tauri 插件 `auth.ts` 文件

```typescript
import { betterAuth } from "better-auth";
import { tauri } from "@daveyplate/better-auth-tauri/plugin";

export const auth = betterAuth({
  // Your existing Better Auth configuration
  plugins: [
    // Your existing plugins
    tauri({
      scheme: "your-app", // Your app's deep link scheme
      callbackURL: "/", // Optional: Where to redirect after auth (default: "/")
      successText: "Authentication successful! You can close this window.", // Optional
      successURL: "/auth/success", // Optional: Custom success page URL that will receive a ?redirectTo search parameter
      debugLogs: false, // Optional: Enable debug logs
    }),
  ],
});
```

### 2\. 登记Tauri的深层联系计划

在你身边 `tauri.conf.json` 文件,添加您的深链接方案 :

```json
{
    "plugins": {
        "deep-link": {
            "desktop": {
                "schemes": ["my-app"]
            }
        }
    }
}
```

## 客户端设置

### 选项1:标准 JavaScript/ TypeScript 设置

```typescript
import { setupBetterAuthTauri } from "@daveyplate/better-auth-tauri";
import { authClient } from "./your-auth-client";

// Initialize in your app's entry point
setupBetterAuthTauri({
  authClient, // Your Better Auth client instance
  scheme: "your-app", // Must match the scheme in your server config
  debugLogs: false, // Optional: Enable debug logs
  mainWindowLabel: "main", // Optional: Your main window label (default: "main")
  onRequest: (href) => {
    console.log("Auth request:", href);
  },
  onSuccess: (callbackURL) => {
    console.log("Auth successful, callback URL:", callbackURL);
    // Handle successful authentication
    window.location.href = callbackURL
  },
  onError: (error) => {
    console.error("Auth error:", error);
    // Handle authentication error
  },
});
```

### 备选案文2:反应设置

```typescript
import { useBetterAuthTauri } from "@daveyplate/better-auth-tauri/react";
import { authClient } from "./your-auth-client";

function App() {
  useBetterAuthTauri({
    authClient,
    scheme: "your-app",
    debugLogs: false,
    onRequest: (href) => {
      console.log("Auth request:", href);
    },
    onSuccess: (callbackURL) => {
      console.log("Auth successful");
      // Navigate or update UI as needed
    },
    onError: (error) => {
      console.error("Auth error:", error);
      // Show error notification
    },
  });

  return (
    // Your app components
  );
}
```

### 备选案文3: Svelte 设置

```typescript
<script>
  import { onMount, onDestroy } from "svelte";
  import { setupBetterAuthTauri } from "@daveyplate/better-auth-tauri";
  import { authClient } from "./your-auth-client";
  
  let cleanup;
  
  onMount(() => {
    cleanup = setupBetterAuthTauri({
      authClient,
      scheme: "your-app",
      debugLogs: false,
      onRequest: (href) => {
        console.log("Auth request:", href);
      },
      onSuccess: (callbackURL) => {
        console.log("Auth successful");
        // Update your app state

        goto(callbackURL)
      },
      onError: (error) => {
        console.error("Auth error:", error);
        // Show error notification
      },
    });
  });
  
  onDestroy(() => {
    cleanup?.();
  });
</script>
```

## 社会标志

首先安装正式的 Tauri 打开器插件 : [https://v2.tauri.app/plugin/opener/ 页面存档备份,存于互联网档案馆](https://v2.tauri.app/plugin/opener/)

要在 Opener 插件中正确使用 Social Sign , 我们提供了一个帮助器功能 :

```ts
import { signInSocial } from "@daveyplate/better-auth-tauri"
import { authClient } from "@/lib/auth-client"

export function Page() {
  return (
    <button onClick={() => {
      signInSocial({
        authClient,
        provider: "google"
      })
    }}>
      Sign in with Google
    </button>
  )
}
```

## 饼干

您必须更新您的认证客户端. t , 以便在生产中使用 Tauri HTTP 插件 macOS , 以便 cookie 工作 :

```tsx
import { isTauri } from "@tauri-apps/api/core"
import { fetch as tauriFetch } from "@tauri-apps/plugin-http"
import { platform } from "@tauri-apps/plugin-os"
import { createAuthClient } from "better-auth/react"

export const authClient = createAuthClient({
    fetchOptions: {
        customFetchImpl: (...params) =>
            isTauri() && platform() === "macos" && window.location.protocol === "tauri:"
                ? tauriFetch(...params)
                : fetch(...params)
    }
})
```

## 如何运作

此插件可以在 Tauri apps 中实现无缝认证 :

1.  **处理深链接**: 通过您的应用程序的自定义 URL 方案正确处理认证重定向 .
2.  **管理认证状态**:确保您的应用程序的认证状态在整个认证流程中保持一致.
3.  **简化Tauri一体化**:移除桌面应用程序中使认证工作发挥作用所需的锅炉板.

## 许可证

麻省理工学院

## 常见问题

### @daveyplate/better-auth-tauri 是什么？

更好的 Auth Tauri 插件

### 如何安装 @daveyplate/better-auth-tauri？

在项目目录运行 npm install @daveyplate/better-auth-tauri，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@tauri-apps/api（\>=2\.5\.0）、@tauri-apps/plugin-deep-link（\>=2\.2\.1）、@tauri-apps/plugin-http（\>=2\.4\.3）、@tauri-apps/plugin-opener（\>=2\.2\.6）、@tauri-apps/plugin-os（\>=2\.2\.1）、better-auth（\>=1\.2\.7）、react（\>=18\.0\.0）、react-dom（\>=18\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @daveyplate/better-auth-tauri 支持 TypeScript 吗？

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

### @daveyplate/better-auth-tauri 支持 ESM 还是 CommonJS？

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

### @daveyplate/better-auth-tauri 可以商用吗？

@daveyplate/better-auth-tauri 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @daveyplate/better-auth-tauri 的下载量有多少？

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

### @daveyplate/better-auth-tauri 还在维护吗？

最新版本 0\.1\.9 发布于 2026/06/04（5 个月前）；至今共发布 33 个版本，其中过去 12 个月发布了 2 个；首次发布于 2025/04/26。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

