# Neon Auth
Neon Auth 为您的应用程序提供身份验证。它以以下形式提供:
- `@neondatabase/auth` - 仅身份验证(包更小)
- `@neondatabase/neon-js` - 身份验证 + 数据 API(完整 SDK,请参阅 `neon-js.md`)
获取官方文档:
bash
curl -H "Accept: text/markdown" https://neon.tech/docs/auth/overview
## 包选择
| 需求 | 包 | 包大小 |
| ----------------------- | ----------------------- | ------- |
| 仅身份验证 | `@neondatabase/auth` | 更小 |
| 身份验证 + 数据库查询 | `@neondatabase/neon-js` | 完整 |
## 安装
bash
# 仅身份验证
npm install @neondatabase/auth
# 身份验证 + 数据 API
npm install @neondatabase/neon-js
## 快速设置模式
### Next.js App Router
**1. API 路由处理器:**
typescript
// app/api/auth/[...path]/route.ts
import { authApiHandler } from "@neondatabase/auth/next";
export const { GET, POST } = authApiHandler();
**2. 身份验证客户端:**
typescript
// lib/auth/client.ts
import { createAuthClient } from "@neondatabase/auth/next";
export const authClient = createAuthClient();
**3. 在组件中使用:**
typescript
"use client";
import { authClient } from "@/lib/auth/client";
function AuthStatus() {
const session = authClient.useSession();
if (session.isPending) return
Loading...
;
if (!session.data) return ;
return
Hello, {session.data.user.name}
;
}
### React SPA
typescript
import { createAuthClient } from "@neondatabase/auth";
import { BetterAuthReactAdapter } from "@neondatabase/auth/react/adapters";
const authClient = createAuthClient(import.meta.env.VITE_NEON_AUTH_URL, {
adapter: BetterAuthReactAdapter(),
});
### Node.js 后端
typescript
import { createAuthClient } from "@neondatabase/auth";
const auth = createAuthClient(process.env.NEON_AUTH_URL!);
await auth.signIn.email({ email, password });
const session = await auth.getSession();
## 环境变量
bash
# Next.js (.env.local)
NEON_AUTH_BASE_URL=https://ep-xxx.neonauth.c-2.us-east-2.aws.neon.build/dbname/auth
NEXT_PUBLIC_NEON_AUTH_URL=https://ep-xxx.neonauth.c-2.us-east-2.aws.neon.build/dbname/auth
# Vite/React (.env)
VITE_NEON_AUTH_URL=https://ep-xxx.neonauth.c-2.us-east-2.aws.neon.build/dbname/auth
## 子资源
获取详细文档:
| 主题 | 资源 |
| ------------------------ | ------------------------------