import { createAuthClient } from "better-auth/client"; import { organizationClient, passkeyClient, twoFactorClient, adminClient, multiSessionClient, oneTapClient, oidcClient, genericOAuthClient, } 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(), oidcClient(), genericOAuthClient(), ssoClient(), ], fetchOptions: { onError(e) { if (e.error.status === 429) { toast.error("Too many requests. Please try again later."); } }, }, }); export const { signUp, signIn, signOut, useSession, organization, useListOrganizations, useActiveOrganization, } = client;