@ory/nextjs
Version:
This library was generated with [Nx](https://nx.dev).
220 lines (209 loc) • 6.16 kB
TypeScript
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 };