UNPKG

better-auth

Version:

The most comprehensive authentication framework for TypeScript.

61 lines (60 loc) 2.15 kB
import { GenericEndpointContext } from "@better-auth/core"; import { BetterAuthError } from "@better-auth/core/error"; import * as z from "zod"; //#region src/state.d.ts declare const stateDataSchema: z.ZodObject<{ callbackURL: z.ZodString; codeVerifier: z.ZodString; errorURL: z.ZodOptional<z.ZodString>; newUserURL: z.ZodOptional<z.ZodString>; expiresAt: z.ZodNumber; /** * CSRF nonce returned to the OAuth provider. When using cookie state storage, * this must match the callback `state` query parameter. */ oauthState: z.ZodOptional<z.ZodString>; link: z.ZodOptional<z.ZodObject<{ email: z.ZodString; userId: z.ZodCoercedString<unknown>; }, z.core.$strip>>; requestSignUp: z.ZodOptional<z.ZodBoolean>; /** * OIDC nonce sent as the authorization request `nonce` parameter when the * provider requires an ID token to be bound to this redirect flow. */ idTokenNonce: z.ZodOptional<z.ZodString>; /** * Server-controlled values that ride the state across the provider redirect. * Populated only by `generateState` from `addOAuthServerContext`, never from * the request body, so it is safe to trust on the callback. */ serverContext: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; }, z.core.$loose>; type StateData = z.infer<typeof stateDataSchema>; declare function generateGenericState(c: GenericEndpointContext, stateData: StateData, settings?: { cookieName: string; }): Promise<{ state: string; codeVerifier: string; }>; declare function parseGenericState(c: GenericEndpointContext, state: string | undefined, settings?: { cookieName?: string; skipStateCookieCheck?: boolean; }): Promise<{ [x: string]: unknown; callbackURL: string; codeVerifier: string; expiresAt: number; errorURL?: string | undefined; newUserURL?: string | undefined; oauthState?: string | undefined; link?: { email: string; userId: string; } | undefined; requestSignUp?: boolean | undefined; idTokenNonce?: string | undefined; serverContext?: Record<string, unknown> | undefined; }>; //#endregion export { StateData, generateGenericState, parseGenericState };