Files
better-auth/demo/nextjs/lib/auth-client.ts
Bereket Engida 8ff196ec0d feat(one-tap): improve Google One Tap integration with JWT verification and improved prompt handling (#1452)
* fix(auth): use options.baseURL instead of ctx.baseURL on trusted origins

* feat(one-tap):  improve Google One Tap integration with JWT verification and improved prompt handling

* feat(one-tap): add One Tap component for user authentication and fix prompt options
2025-02-15 11:56:06 +03:00

54 lines
1013 B
TypeScript

import { createAuthClient } from "better-auth/react";
import {
organizationClient,
passkeyClient,
twoFactorClient,
adminClient,
multiSessionClient,
oneTapClient,
oidcClient,
genericOAuthClient,
} from "better-auth/client/plugins";
import { toast } from "sonner";
export const client = createAuthClient({
plugins: [
organizationClient(),
twoFactorClient({
onTwoFactorRedirect() {
window.location.href = "/two-factor";
},
}),
passkeyClient(),
adminClient(),
multiSessionClient(),
oneTapClient({
clientId: process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID!,
promptOptions: {
maxAttempts: 2,
},
}),
oidcClient(),
genericOAuthClient(),
],
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;
client.$store.listen("$sessionSignal", async () => {});