@authaz/ next (中文(简体) )
下一个是Authaz认证的SDK.
安装
npm install @authaz/next @authaz/sdk
# or
pnpm add @authaz/next @authaz/sdk
# or
yarn add @authaz/next @authaz/sdk
使用量
API 路由设置
// app/api/auth/[...authaz]/route.ts
import { createAuthazHandler } from '@authaz/next';
export const { GET, POST } = createAuthazHandler({
clientId: process.env.AUTHAZ_CLIENT_ID!,
clientSecret: process.env.AUTHAZ_CLIENT_SECRET!,
});
管理 API 呼叫
这个 createAuthazHandler() 管理代理为会话保护并转发
请求登录用户。 不要用它来管理 API 键
从服务器上列出角色等操作。 对于这些电话,创建一个
服务器侧 @authaz/sdk 客户端并保留 AUTHAZ_API_KEY 环境
变量 :
import { createAuthazClient } from '@authaz/sdk';
const authaz = createAuthazClient({
apiKey: process.env.AUTHAZ_API_KEY!,
baseAddress: process.env.AUTHAZ_API_BASE_URL,
});
const roles = await authaz.roles.list();
中间软件
// middleware.ts
import { withAuthaz } from '@authaz/next';
export default withAuthaz();
export const config = {
matcher: ['/dashboard/:path*', '/api/:path*'],
};
服务器组件
import { getSession } from '@authaz/next';
async function Page() {
const session = await getSession();
if (!session) {
return <div>Not authenticated</div>;
}
return <div>Hello, {session.user?.name}</div>;
}
文档
完整文件,访问 https://authaz.io/docs 互联网档案馆的存檔,存档日期2013-12-02
许可证
麻省理工学院