# @crossmint/client-sdk-auth 中文文档

规范地址：https://npmcn.com/package/%40crossmint/client-sdk-auth/

版本：1\.3\.38
npm 元数据更新时间：2026-11-10T15:53:55.452Z
中文译文更新时间：2026-11-11T01:38:14.373Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40crossmint/client-sdk-auth
原文对照：https://npmcn.com/package/%40crossmint/client-sdk-auth/?lang=original
项目主页：https://github.com/Crossmint/crossmint-sdk#readme
源码仓库：https://github.com/Crossmint/crossmint-sdk

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

- 包体积（解压后）：55.7 kB，51 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：5 个
- 首次发布：2024-10-09T18:49:52.240Z
- 最新版本发布：2026-11-10T15:53:54.864Z
- 近 30 天下载量：179445（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：123（近 12 个月 54 个）

## 中文简介

这个SDK为用户在客户端的Crossmint驱动应用程序中认证用户提供了一套工具. 它简化了处理认证令牌、管理用户会话和将各种认证方法纳入您

## 安装

```sh
npm install @crossmint/client-sdk-auth
```

也可以使用：`pnpm add @crossmint/client-sdk-auth`、`yarn add @crossmint/client-sdk-auth`、`bun add @crossmint/client-sdk-auth`

## README

# @ crossmint/ 客户端- sdk- auth

这个SDK为用户在客户端的Crossmint驱动应用程序中认证用户提供了一套工具. 它简化了处理认证令牌,管理用户会话,以及将各种认证方法纳入你的网络应用程序的过程.

## 安装

要安装 SDK, 您可以使用 npm 或 线 :

```bash
npm install @crossmint/client-sdk-auth
```

## 使用量

要在您的应用程序中使用 SDK, 请遵循这些步骤 :

1.  导入 SDK 到您的工程中 :

```typescript
import { createCrossmint, CrossmintAuth } from "@crossmint/client-sdk-auth";

const crossmint = createCrossmint({
    apiKey: process.env.CLIENT_CROSSMINT_API_KEY || "",
});

const crossmintAuth = CrossmintAuth.from(crossmint);
```

2.  使用 SDK 认证用户并管理会话 :

```typescript
// Get the current user
const user = await crossmintAuth.getUser();

// Log out the user and clear cookies
crossmintAuth.logout();
```

## 自定义存储提供者

默认情况下,SDK使用浏览器饼干来存储认证材料. 对于没有饼干的环境,如React Introduct,您可以提供自定义的存储提供者.

### 反应原生存储选项

SDK为React Introduct提供了几种安全的存储执行:

#### 1\. 博览会安全站(为博览会应用推荐)

**首先安装依赖性 :**

```bash
npx expo install expo-secure-store
```

对于 Expo 应用程序,使用 securityStore ,它提供了一个安全的加密存储解决方案:

```typescript
import * as SecureStore from 'expo-secure-store';
import { ExpoSecureStorage, CrossmintAuth } from "@crossmint/client-sdk-auth";

// Create a custom storage provider using Expo's SecureStore
const storageProvider = new ExpoSecureStorage(SecureStore);

// Initialize auth client with secure storage
const crossmintAuth = CrossmintAuth.from(crossmint, {
  storageProvider
});
```

#### 2\. 反应原生加密存储(推荐给非Expo apps)

**首先安装依赖性 :**

```bash
npm install react-native-encrypted-storage
```

对于香草回放原生应用程序,使用加密Storage:

```typescript
import EncryptedStorage from 'react-native-encrypted-storage';
import { RNEncryptedStorage, CrossmintAuth } from "@crossmint/client-sdk-auth";

// Create a custom storage provider using react-native-encrypted-storage
const storageProvider = new RNEncryptedStorage(EncryptedStorage);

// Initialize auth client with secure storage
const crossmintAuth = CrossmintAuth.from(crossmint, {
  storageProvider
});
```

### 执行自定义存储

您可以通过执行 `StorageProvider` 接口 :

```typescript
export interface StorageProvider {
  get(key: string): string | undefined | Promise<string | undefined>;
  set(key: string, value: string, expiresAt?: string): void | Promise<void>;
  remove(key: string): void | Promise<void>;
}
```

## 使用 Http 只使用饼干的安全设置

为了保证认证材料的安全,可以在后端设置自定义端点,处理刷新认证材料并将其存储于HttpOnly Cookie. 这样,在浏览器中运行的JavaScript无法访问认证材料.

### 配置自定义刷新路由

在客户端中, 在创建 CrossmintAuth 实例时提供自定义刷新路由 :

```typescript
const crossmintAuth = CrossmintAuth.from(crossmint, {
    refreshRoute: "/api/refresh",
});
```

这样,SDK会使用提供的路由来刷新符号而不是默认的路由,认证材料可以被存储在HttpOnly Cookie中,这些被绑定在所提供路由的域上.

### 配置自定义登录路径

由于你现在使用HtpOnly cookie,登录无法发生客户端,因为它无法访问cookie. 可以设置自定义的登录路由来处理登录过程.

在客户端中, 在创建 CrossmintAuth 实例时提供自定义登录路径 :

```typescript
const crossmintAuth = CrossmintAuth.from(crossmint, {
    logoutRoute: "/api/logout",
});
```

注:根据您所使用的框架,您可能需要在 `refreshRoute` 财务报告和审定财务报表 `logoutRoute` 选项.

## 高级使用

在创建 CrossmintAuthClient 时, 您可以为 符号刷新和登录事件提供回调 :

```typescript
const crossmintAuth = CrossmintAuth.from(crossmint, {
    callbacks: {
        onTokenRefresh: (authMaterial) => {
            // Handle new authentication material
        },
        onLogout: () => {
            // Handle logout
        },
    },
});
```

### 认证材料

```json
{
    "jwt": "...",
    "refreshToken": "...",
    "user": {
        "id": "...",
        "email": "..."
    }
}
```

这些调用允许您在刷新符号或用户日志退出时执行自定义动作 .

## 常见问题

### @crossmint/client-sdk-auth 是什么？

这个SDK为用户在客户端的Crossmint驱动应用程序中认证用户提供了一套工具\. 它简化了处理认证令牌、管理用户会话和将各种认证方法纳入您

### 如何安装 @crossmint/client-sdk-auth？

在项目目录运行 npm install @crossmint/client-sdk-auth，或使用 pnpm add / yarn add / bun add。

### @crossmint/client-sdk-auth 支持 TypeScript 吗？

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

### @crossmint/client-sdk-auth 支持 ESM 还是 CommonJS？

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

### @crossmint/client-sdk-auth 可以商用吗？

@crossmint/client-sdk-auth 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @crossmint/client-sdk-auth 的下载量有多少？

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

### @crossmint/client-sdk-auth 还在维护吗？

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

