UNPKG

@ory/nextjs

Version:

This library was generated with [Nx](https://nx.dev).

220 lines (209 loc) 6.16 kB
import { LoginFlow, RegistrationFlow, RecoveryFlow, VerificationFlow, SettingsFlow, LogoutFlow, Session } from '@ory/client-fetch'; type QueryParams = { [key: string]: string | string[] | undefined; }; /** * Use this method in an app router page to fetch an existing login flow or to create a new one. This method works with server-side rendering. * * ``` * import { Login } from "@ory/elements-react/theme" * import { getLoginFlow, OryPageParams } from "@ory/nextjs/app" * import { enhanceConfig } from "@ory/nextjs" * * import config from "@/ory.config" * import CardHeader from "@/app/auth/login/card-header" * * export default async function LoginPage(props: OryPageParams) { * const flow = await getLoginFlow(props.searchParams) * * if (!flow) { * return null * } * * return ( * <Login * flow={flow} * config={enhanceConfig(config)} * components={{ * Card: { * Header: CardHeader, * }, * }} * /> * ) * } * ``` * * @param params - The query parameters of the request. */ declare function getLoginFlow(params: QueryParams | Promise<QueryParams>): Promise<LoginFlow | null | void>; /** * Use this method in an app router page to fetch an existing registration flow or to create a new one. This method works with server-side rendering. * * ``` * import { Registration } from "@ory/elements-react/theme" * import { getRegistrationFlow, OryPageParams } from "@ory/nextjs/app" * import { enhanceConfig } from "@ory/nextjs" * * import config from "@/ory.config" * import CardHeader from "@/app/auth/registration/card-header" * * export default async function RegistrationPage(props: OryPageParams) { * const flow = await getRegistrationFlow(props.searchParams) * * if (!flow) { * return null * } * * return ( * <Registration * flow={flow} * config={enhanceConfig(config)} * components={{ * Card: { * Header: CardHeader, * }, * }} * /> * ) * } * ``` * * @param params - The query parameters of the request. */ declare function getRegistrationFlow(params: QueryParams | Promise<QueryParams>): Promise<RegistrationFlow | null | void>; /** * Use this method in an app router page to fetch an existing recovery flow or to create a new one. This method works with server-side rendering. * * ``` * import { Recovery } from "@ory/elements-react/theme" * import { getRecoveryFlow, OryPageParams } from "@ory/nextjs/app" * import { enhanceConfig } from "@ory/nextjs" * * import config from "@/ory.config" * import CardHeader from "@/app/auth/recovery/card-header" * * export default async function RecoveryPage(props: OryPageParams) { * const flow = await getRecoveryFlow(props.searchParams) * * if (!flow) { * return null * } * * return ( * <Recovery * flow={flow} * config={enhanceConfig(config)} * components={{ * Card: { * Header: CardHeader, * }, * }} * /> * ) * } * ``` * * @param params - The query parameters of the request. */ declare function getRecoveryFlow(params: QueryParams | Promise<QueryParams>): Promise<RecoveryFlow | null | void>; /** * Use this method in an app router page to fetch an existing verification flow or to create a new one. This method works with server-side rendering. * * ``` * import { Verification } from "@ory/elements-react/theme" * import { getVerificationFlow, OryPageParams } from "@ory/nextjs/app" * import { enhanceConfig } from "@ory/nextjs" * * import config from "@/ory.config" * import CardHeader from "@/app/auth/verification/card-header" * * export default async function VerificationPage(props: OryPageParams) { * const flow = await getVerificationFlow(props.searchParams) * * if (!flow) { * return null * } * * return ( * <Verification * flow={flow} * config={enhanceConfig(config)} * components={{ * Card: { * Header: CardHeader, * }, * }} * /> * ) * } * ``` * * @param params - The query parameters of the request. */ declare function getVerificationFlow(params: QueryParams | Promise<QueryParams>): Promise<VerificationFlow | null | void>; /** * Use this method in an app router page to fetch an existing login flow or to create a new one. This method works with server-side rendering. * * ``` * import { Login } from "@ory/elements-react/theme" * import { getLoginFlow, OryPageParams } from "@ory/nextjs/app" * import { enhanceConfig } from "@ory/nextjs" * * import config from "@/ory.config" * import CardHeader from "@/app/auth/login/card-header" * * export default async function LoginPage(props: OryPageParams) { * const flow = await getLoginFlow(props.searchParams) * * if (!flow) { * return null * } * * return ( * <Login * flow={flow} * config={enhanceConfig(config)} * components={{ * Card: { * Header: CardHeader, * }, * }} * /> * ) * } * ``` * * @param params - The query parameters of the request. */ declare function getSettingsFlow(params: QueryParams | Promise<QueryParams>): Promise<SettingsFlow | null | void>; /** * Use this method in an app router page to create a new logout flow. This method works with server-side rendering. * * ``` * import { getLogoutFlow } from "@ory/nextjs/app" * * async function LogoutLink() { * const flow = await getLogoutFlow() * * return ( * <a href={flow.logout_url}> * Logout * </a> * ) * } * * ``` * * @param params - The query parameters of the request. */ declare function getLogoutFlow({ returnTo, }?: { returnTo?: string; }): Promise<LogoutFlow>; declare function getServerSession(): Promise<Session | null>; interface OryPageParams { searchParams: Promise<{ [key: string]: string | string[] | undefined; }>; } export { type OryPageParams, getLoginFlow, getLogoutFlow, getRecoveryFlow, getRegistrationFlow, getServerSession, getSettingsFlow, getVerificationFlow };