casualroom/apps/fenghuo/web/lib/auth-client.ts

43 lines
926 B
TypeScript
Executable File

import { createAuthClient } from "better-auth/client";
import {
organizationClient,
passkeyClient,
twoFactorClient,
adminClient,
multiSessionClient,
oneTapClient,
oidcClient,
genericOAuthClient,
usernameClient,
} from "better-auth/client/plugins";
import { ssoClient } from "@better-auth/sso/client";
import { toast } from "@nice/ui/components/sonner";
export const client = createAuthClient({
baseURL: process.env.NEXT_PUBLIC_AUTH_URL || "http://localhost:3001", // 可以通过环境变量配置
plugins: [
organizationClient(),
usernameClient()
],
fetchOptions: {
onError(e) {
if (e.error.status === 429) {
toast.error("Too many requests. Please try again later.");
}
// 添加更详细的错误日志
console.error("Auth client error:", e);
},
},
});
export const {
signUp,
signIn,
signOut,
useSession,
organization,
useListOrganizations,
useActiveOrganization,
} = client;