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

36 lines
760 B
TypeScript
Raw Normal View History

2025-07-28 07:50:50 +08:00
import { createAuthClient } from "better-auth/client";
import {
organizationClient,
oidcClient,
genericOAuthClient,
} from "better-auth/client/plugins";
import { ssoClient } from "@better-auth/sso/client";
import { toast } from "@nice/ui/components/sonner";
export const authClient = createAuthClient({
baseURL: process.env.NEXT_PUBLIC_API_URL, // 可以通过环境变量配置
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,
} = authClient;