@ackplus/nest-auth-react

中文文档
2.18.0发布于 2026/11/03MITTypeScriptESM + CJS近 30 天下载 2244

反应 SDK 用于 NestJS 认证 - 钩子, 守护和 Next.js 集成

中文使用文档
文档目录11 节
  1. 为什么用它
  2. 安装
  3. AI 编码代理
  4. 包括什么
  5. 最小实例- SPA
  6. 最小示例 — Next.js App 路由器
  7. 角色标识权限( L)
  8. 文档
  9. 配套软件包
  10. 链接
  11. 许可证

@ackplus/nest-aut-反应

npm version npm downloads license

反应提供者、钩子、卫士和头等舱Next.js App路由器帮助 @ackplus/nest-auth无头——带来自己的UI.

📚 完整文档: ack-solutions.github.io/nst-auth/docs/resact 互联网档案馆的存檔,存档日期2013-12-02


为什么用它

顶部的薄反射层 @ackplus/nest-auth-client 这样你就能手动构建出一切: 上下文提供者, 狭义的重接接钩, 守护部件, 通过 Next.js Server 组件的路由级别守护, 以及跨塔布同步.

它无头——没有有风格的按钮,没有有观点的表格——所以它会掉入任何回放 18/19 app 或 Next.js App Router 项目,而不与你的设计系统相对抗.

安装

pnpm add @ackplus/nest-auth-react @ackplus/nest-auth-client
端点版本数
react^18.0.0 || ^19.0.0

AI 编码代理

使用 Claude 代码, Codex, Cursor 或者另一个 AI 编码代理? 安装 Nest Auth 技能使其知道 SDK 的真实 API :

npx @ackplus/nest-auth-skill

它检测你的堆栈( 或通过) --stack react),并且只添加代理指令文件;您的应用程序不会被更改.

包括什么

表面API 密码
提供者<AuthProvider> · (委托人) <NextAuthProvider> (带有SSR初始状态水分)
钩子useNestAuth • 妇女 useUser • 妇女 useSession • 妇女 useAccessToken • 妇女 useAuthStatus • 妇女 useHasRole • 妇女 useHasPermission
警卫部分<AuthGuard> • 妇女 <GuestGuard> • 妇女 <RequireRole> • 妇女 <RequirePermission>
人道主义协调员withRequireRole • 妇女 withRequirePermission (+ 数) createRequireRoleHOC 编号 : createRequirePermissionHOC 工厂)
Next.js 帮助者createNextAuthHelpers 返回时 { getServerAuth, withAuth, createInitialState }
交叉调制同步CrossTabSync 编号 : createCrossTabSync() —— 说 BroadcastChannel 与 localStorage 倒计时

最小实例- SPA

import { AuthClient } from '@ackplus/nest-auth-client';
import { AuthProvider, useNestAuth, AuthGuard, useUser } from '@ackplus/nest-auth-react';

const client = new AuthClient({ baseUrl: 'https://api.example.com' });

export default function App() {
  return (
    <AuthProvider client={client}>
      <Routes />
    </AuthProvider>
  );
}

function Dashboard() {
  return (
    <AuthGuard fallback={<a href="/login">Sign in</a>}>
      <DashboardInner />
    </AuthGuard>
  );
}

function DashboardInner() {
  const user = useUser();
  return <h1>Hello {user?.email}</h1>;
}

function LoginForm() {
  const { login, error, isLoading } = useNestAuth();
  return (
    <form onSubmit={async (e) => {
      e.preventDefault();
      await login({ credentials: { email, password } });
    }}>
      {/* … */}
      <button disabled={isLoading}>Sign in</button>
      {error && <p>{error.message}</p>}
    </form>
  );
}

最小示例 — Next.js App 路由器

// app/layout.tsx (Server Component)
import { cookies } from 'next/headers';
import { NextAuthProvider } from '@ackplus/nest-auth-react';
import { client, authHelpers } from '@/lib/auth';

export default async function RootLayout({ children }) {
  const initialState = await authHelpers.getServerAuth(await cookies());

  return (
    <html lang="en">
      <body>
        <NextAuthProvider client={client} initialState={initialState}>
          {children}
        </NextAuthProvider>
      </body>
    </html>
  );
}
// app/api/private/route.ts
import { authHelpers } from '@/lib/auth';

export const GET = authHelpers.withAuth(async (req) => {
  return Response.json({ user: req.auth.user });
});

Full Next.js 向导 —

角色标识权限( L)

import { RequireRole, RequirePermission, useHasRole } from '@ackplus/nest-auth-react';

<RequireRole role="admin" fallback={<NotAuthorized />}>
  <AdminPanel />
</RequireRole>

<RequirePermission permission={['orders.read', 'orders.write']} matchAll>
  <OrderEditor />
</RequirePermission>

// Or via hook
const isAdmin = useHasRole('admin');

文档

节次这是什么
提供者<AuthProvider>, (中文(简体) ), <NextAuthProvider>,所有道具
钩子每个钩子都有回回形和回回音
警卫部件+HOCs+工厂
下一个.jsApp 路由器 SSR 模式, withAuth中间软件重定向
跨标签同步多塔布登录/日志传播
快速启动——反应SPA 设置到结束
快速启动 — Next.jsApp 路由器设置到结束

配套软件包

软件包使用时间
@ackplus/nest-authNestJS 后端模块 此客户端向
@ackplus/nest-auth-client香草JS客户端 这个包裹包裹
@ackplus/nest-auth-contracts共享的 TS 类型( 已经是一个中转分解)

所有4个包都与同版本号一起放出. 把它们绑在同一个版本.

许可证

麻省理工学院

版本与发布记录

@ackplus/nest-auth-react 共发布 118 个版本,首次发布于 2025/11/22;过去 12 个月发布了 118 个版本。

版本发布日期距今
2.18.0latest2026/11/034 天前
2.16.02026/10/2711 天前
2.15.02026/10/2612 天前
2.14.12026/10/2414 天前
2.14.02026/10/1226 天前
2.13.12026/10/1028 天前

其他发布通道:beta → 2.0.0-beta.26。

关于 @ackplus/nest-auth-react 的常见问题

@ackplus/nest-auth-react 是什么?

反应 SDK 用于 NestJS 认证 - 钩子, 守护和 Next.js 集成

如何安装 @ackplus/nest-auth-react?

在项目目录运行 npm install @ackplus/nest-auth-react,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(^18.0.0 || ^19.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@ackplus/nest-auth-react 支持 TypeScript 吗?

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

@ackplus/nest-auth-react 支持 ESM 还是 CommonJS?

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

@ackplus/nest-auth-react 可以商用吗?

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

@ackplus/nest-auth-react 的下载量有多少?

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

@ackplus/nest-auth-react 还在维护吗?

最新版本 2.18.0 发布于 2026/11/03(4 天前);至今共发布 118 个版本,其中过去 12 个月发布了 118 个;首次发布于 2025/11/22。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。