@crossmint/client-sdk-auth

中文文档
1.3.38发布于 2026/11/10Apache-2.0TypeScriptESM + CJS构建来源已验证近 30 天下载 17.9万

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

中文使用文档
文档目录10 节
  1. 安装
  2. 使用量
  3. 自定义存储提供者
  4. 反应原生存储选项
  5. 执行自定义存储
  6. 使用 Http 只使用饼干的安全设置
  7. 配置自定义刷新路由
  8. 配置自定义登录路径
  9. 高级使用
  10. 认证材料

@ crossmint/ 客户端- sdk- auth

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

安装

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

npm install @crossmint/client-sdk-auth

使用量

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

  1. 导入 SDK 到您的工程中 :
import { createCrossmint, CrossmintAuth } from "@crossmint/client-sdk-auth";

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

const crossmintAuth = CrossmintAuth.from(crossmint);
  1. 使用 SDK 认证用户并管理会话 :
// Get the current user
const user = await crossmintAuth.getUser();

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

自定义存储提供者

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

反应原生存储选项

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

首先安装依赖性 :

npx expo install expo-secure-store

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

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
});

首先安装依赖性 :

npm install react-native-encrypted-storage

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

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 接口 :

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 实例时提供自定义刷新路由 :

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

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

配置自定义登录路径

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

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

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

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

高级使用

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

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

认证材料

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

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

版本与发布记录

@crossmint/client-sdk-auth 共发布 123 个版本,首次发布于 2024/10/10;过去 12 个月发布了 54 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.3.38latest2026/11/10今天
1.3.372026/11/074 天前
1.3.362026/11/064 天前
1.3.352026/11/065 天前
1.3.342026/11/056 天前
1.3.332026/11/056 天前

其他发布通道:beta → 1.3.0-beta.1。

关于 @crossmint/client-sdk-auth 的常见问题

@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 和提交记录判断。