diff --git a/.version b/.version index 8503faf3b..319b54fc3 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -v4.8.0 \ No newline at end of file +v4.9.0 \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index bff4e8620..20102b3df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,23 @@ # Change Log +## [v4.9.0](https://github.com/auth0/nextjs-auth0/tree/v4.9.0) (2025-08-01) +[Full Changelog](https://github.com/auth0/nextjs-auth0/compare/v4.8.0...v4.9.0) + +**Added** +- feat: Allow configuring transaction cookie maxAge [\#2245](https://github.com/auth0/nextjs-auth0/pull/2245) ([tusharpandey13](https://github.com/tusharpandey13)) +- feat: Add flag to control parallel transactions [\#2244](https://github.com/auth0/nextjs-auth0/pull/2244) ([tusharpandey13](https://github.com/tusharpandey13)) +- feat: add support for `withApiAuthRequired` helper [\#2230](https://github.com/auth0/nextjs-auth0/pull/2230) ([guabu](https://github.com/guabu)) +- feat: add `withPageAuthRequired` for server [\#2207](https://github.com/auth0/nextjs-auth0/pull/2207) ([guabu](https://github.com/guabu)) + +**Fixed** +- bugfix: respect path configuration when deleting cookies [\#2250](https://github.com/auth0/nextjs-auth0/pull/2250) ([tusharpandey13](https://github.com/tusharpandey13)) +- bugfix: Clear cookies with the correct path when basePath is used [\#2232](https://github.com/auth0/nextjs-auth0/pull/2232) ([tusharpandey13](https://github.com/tusharpandey13)) +- bugfix: Fix `clientAssertionSigningKey` type mismatch [\#2243](https://github.com/auth0/nextjs-auth0/pull/2243) ([tusharpandey13](https://github.com/tusharpandey13)) +- fix: correctly handle expired JWE's in cookies [\#2082](https://github.com/auth0/nextjs-auth0/pull/2082) ([frederikprijck](https://github.com/frederikprijck)) + +**Security** +- chore: pin eslint-config-prettier and eslint-plugin-prettier versions to prevent malicious package installation [\#2239](https://github.com/auth0/nextjs-auth0/pull/2239) ([tusharpandey13](https://github.com/tusharpandey13)) + ## [v4.8.0](https://github.com/auth0/nextjs-auth0/tree/v4.8.0) (2025-07-03) [Full Changelog](https://github.com/auth0/nextjs-auth0/compare/v4.7.0...v4.8.0) diff --git a/docs/assets/hierarchy.js b/docs/assets/hierarchy.js index 1c471626b..7180630ad 100644 --- a/docs/assets/hierarchy.js +++ b/docs/assets/hierarchy.js @@ -1 +1 @@ -window.hierarchyData = "eJyllU1P4zAQhv/LnIdSO02b5MbnaqVFSHRvKw6WM22tBpv1OEiA8t9RWoHcTVEMe8nBntfPY401eQXvXGCo/iwylEV2j+Bp1ZAOxlmG6hUWWf+16oGggmW9vfLeeUDYGltDJWSB0PoGKtCNYiY+pb6AJ++lk014aAD321BB4Pqkz57sFxD0xjS1J9s7FFjMsRRYzlFMBQoxRSFyFHKGIstQzPL7DmFRREq3Z23YyFSrqHpErEMo5hHn0rB2T+SfU1GHgXFaKSLajWE2dr0MKlAqcJBJYMY3/GmfVGPqLzEHmXGmmMYX7fvhvHlR/YNLpQ5DCVgx/Qx74Wr64ZUNd/S3JQ7f0jh6SIpWPqr1fz6pInIWiZwrvdUbZS01v9zatckOx4MJ+CyeM2daE/Nvt6X0N/FPJAE5y48jr52/cNbuh+A3+MP8uIwsDuYsMe96aFdm3fpdQz8cZD5/dzA2kF8pTXwanh+JJ8eCn8I/0odTWJa7KSvLfGi0DM7T7eP+7/AFoTiX4NN13Rs4Lz3t" \ No newline at end of file +window.hierarchyData = "eJyllU1r4zAQhv/LnKdpJMeO7Vu/WdilsNnb0oOQJ4mIK7UaudAt/u+LG1qUdYrV7sUHaV49jxgxfgHvXGCofy8zlGVxh+Bp3ZIOxlmG+gWW2fC16p6ghlWzu/LeeUDYGdtALWSJ0PkWatCtYiY+paGAZ2+ls224bwH321BD4OZkyJ7sFxD01rSNJzs4lFgWWAmsChRzgULMUYgchVygyDIUi/yuR1iWkdLtWRe2MtUqqp4Q6xHKIuJcGtbuifxzKuowME2rRET7YZiN3ayCCpQKHGUSmPENv9kn1ZrmU8xRZpop5vFFh344b/6o4cGlUsehBKyYf4S9cA3deGXDT3rsiMOXNI4ekqKVT2r9n0+qiFxEIudK7/RWWUvtd7dxXbLD8WACPovnzJnWxPzL7Sj9TfwTSUAu8uPIa+cvnLX7IfgF/jg/LSMPhs2KmF97aNdm0/nXhr47yLx4czA2kF8rTXwanh+IZ8eCH8Lf04dTWFblMGVlVY6NVsF5un3Y/x0+IRTnEnz6vv8LUgA9+Q==" \ No newline at end of file diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js index 63cede36c..6a920322f 100644 --- a/docs/assets/navigation.js +++ b/docs/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "eJydmN1y2jAQhd/F10yb0CZtuSMmSZmSkonJ9CKTySj2YjQYiUoyLe3k3TuyDf6RvBK9lc9+R1qvtLKf/gYKfqtgFMQZBaaCQbAlahWMgg1P8gzk+3L83UptsmAQrClLgtFwEMQrmiUCWDB6OiJ+ULW6JymMc7V6gJ85FZDMt4pyJmsuZQrEksQ1Ggnr2F5cvg1Qt9pG7be4Qwd99uXT+cWwgf+F4ndEUPLayI9N3rb40KRr2dm94DuagKixy5zFxcIP2Jauzbv82OCloMZxDFIu+BoYAmwLEWIu4VGic6sUBuO5QQEhuJBmVZXjXlXVmO61jgp5AjUQWL454mzStsfn5juo1TdayxgUCzzBxR7nZVmoa4c4I1JC70rayPOh9zp8HMwo1C5XKy7oH6LVerm3gjDlMOuPOd1Kby+Q/+XYDPU2PsHICb4i8TpeEcYgm/GU545V2OWYwYTKmO9A7HFwW4YBp2xHMppEiijAmYYSw95RKSlLPbCGEsPO9esY4sCGBkNFyRrnHAQmpHkCShC75jF6OAHLcb8T8FUqQWIVgZSUs0hxAeasKqBN7Cr1s7DT/LvMWuNCeZDcoIUgTJLiOMIX2xWiO+P6Zvw4W7xMJy+L+bfr7y/hbDy9i2w9vaL3RCBtfUkzBWICS5JnapoUp2uYEbqRtj5a2fQHoa1VgVSUpWZlVQ+8SusWGAiioKqWkPM1hZCzJU27d6kDFglx3alSW6gtMwcvawCeFT1XS0708KnXjVZfxC6yJd0Rid1lGxvMw8cQu9CnkE8CHxvfPRFkAwqEC2+JwEzqLBZ5jUAhfFOMo3UxuZPS0mHAB54rwEilAEMc61zvplwUiUKANrkX3m/lNrkHfkIUcVO1yhPW6QEY0dIFrNhC552BphqFKyLUVEN0T9rBjKfU4+DAwjA7jy3hsxEaTdS3MvpCPG2Ku5wfvpB6Y71eak8EZtL+EjaI5mdwO/wKllwcmlhEdpB85XxtNNiCZde6Omv5dRAp3SzTvZ3c1vgRO78TTJzlN4LJmrOQZNkridchZ8WYlWjI/Ln9+WxrXET9C0cW57SovhXtVFN3ElluOZPggS6FLvYDkISzbF9NpdyS0o63a50OResy9lYL3JTYec9vz/8AN3Qw2A==" \ No newline at end of file +window.navigationData = "eJylmNtS2zAQht/F10wL9MwdTYBmCg2DYXrRYRhhbxxNHCmV1mlph3fvyHbig+SVXO4yzr/fL61k7co//kYIvzE6iZKcg8DoINowXEYn0VqmRQ76dfX81RLXeXQQrbhIo5PjgyhZ8jxVIKKTH3vEd47La5bBaYHLG/hZcAXpfINcCt1wuUBQC5Y0aCKsZ/vu/fMB6dbY4NOGduihDz99OHp33ML/IvFbpjh7bOXHJe9avGnTjezwWsktT0E12EUhknLiO2xH1+W9f9viZYCnSQJa38oVCALYFRLEQsOdJsdWKyzGfYsCSkml7V1VPQ/aVa3hnpmoiUyhAYIo1nucS9r1+Nheg0Z9brRCQDnBES7uuCDLUt04JDnTGgZn0kUeHQfPI8TBjiLtClxKxf8wozbTvVBMoMdsOGa8lXm9QP+XYzs02HiEkRf8mSWrZMmEgPxSZrLwzMItpwymXCdyC+qJBndlFHAmtiznaYwMgWZaSgp7xbXmIgvAWkoKOzfLcUwDWxoKFacrmrMT2JD2CahBbdvH6O4ErJ6HnYCPGhVLMAatuRQxSgX2qGqgS+zb6oeTXvHvMxuNDxVA8oNuFROalccRPdm+kBzdZnMjCwRlynT5q98t7MZoCX29gh0x36AOxhuxz+ICMC7jY57CtZIbfQO6yNG0NvVSD/gFRPrMfRkLTlRIz1Yz/6dnc8Xs0z3CZx/zIkOr9Q33dbe/Qfb7tRgz4SboZZbjp2zF+gYwPTs/vbu8fZhNH27nX8++PUwuT2dXsas1r20HIojufMFzBDWFBStynKVlkzTJGV9rVztc2wwHkR0ygkYuMrtA1H8EVYgLEKAYQv0+T6RccZhIseBZfy12WCLEtwSZK9SVmZ2XM4DOihmrIyfm8dhbQ6e9pe6jFd0TSV1JW3UywMcS+9BjyKPA+/71mim2BgTlwzsiKJMmi2VeY0CCb4tptNlM/qR0dBSwPI0oUiWgEPt9bt6mQpWJIoAueRA+bOYueQB+ypD5qUYVCOu1chTR0cw5saUuOANtNQlHpnBmIKa13MKlzHjAwUGFUXYBr0TIi9DqhUN3xlBIoE15JQvDl9JgbNCiDkRQJt0PWhbR/prVDf8MC6l2RSxmW0i/SLmyCmzJcmt9lbW65MdoimX25CZ3NWHE3ldBG+f4Gmiz5mLC8vyRJauJFOUzJ9GShXOH89nVhFxYdNVW1p983FRbN4qsN1Jo61LkQFdCH/sGWCpF/lQPpXolrWa6LkJOrdehLF0DXXq7upHN+P3z/T+wYoc1" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index a1cf79255..fdb6aa16f 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "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"; \ No newline at end of file +window.searchData = "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"; \ No newline at end of file diff --git a/docs/classes/errors.AccessTokenError.html b/docs/classes/errors.AccessTokenError.html index f7b85f281..b1a082926 100644 --- a/docs/classes/errors.AccessTokenError.html +++ b/docs/classes/errors.AccessTokenError.html @@ -1,4 +1,4 @@ -
Optionalcause: OAuth2ErrorOptionalcause: OAuth2ErrorOptionalmessage: stringOptionalmessage: stringOptionalmessage: stringOptionalmessage: stringOptionalmessage: stringOptionalmessage: stringOptionalmessage: stringOptionalmessage: stringOptionalmessage: stringOptionalmessage: stringErrors that come from Auth0 in the redirect_uri callback may contain reflected user input via the OpenID Connect error and error_description query parameter.
+
Errors that come from Auth0 in the redirect_uri callback may contain reflected user input via the OpenID Connect error and error_description query parameter.
You should not render the error message, or error and error_description properties without properly escaping them first.
AbstractAbstractOptionalmessage: stringOptionalmessage: stringAbstractAbstractcalculateMaxAge calculates the max age of the session based on createdAt and the rolling and absolute durations.
-Abstractdeleteepoch returns the time since unix epoch in seconds.
-AbstractgetAbstractsetsave adds the encrypted session cookie as a Set-Cookie header. If the iat property
+
calculateMaxAge calculates the max age of the session based on createdAt and the rolling and absolute durations.
+Abstractdeleteepoch returns the time since unix epoch in seconds.
+AbstractgetAbstractsetsave adds the encrypted session cookie as a Set-Cookie header. If the iat property
is present on the session, then it will be used to compute the maxAge cookie value.
OptionalisNew: booleanOptionalisNew: booleanOptionaloptions: GetAccessTokenOptionsOptionaloptions: GetAccessTokenOptionsOptional configuration for getting the access token.
Force a refresh of the access token.
-getAccessToken returns the access token.
+getAccessToken returns the access token.
This method can be used in middleware and getServerSideProps, API routes in the Pages Router.
The request object.
The response object.
Optionaloptions: GetAccessTokenOptionsOptional configuration for getting the access token.
Force a refresh of the access token.
-Retrieves an access token for a connection.
+Retrieves an access token for a connection.
This method can be used in Server Components, Server Actions, and Route Handlers in the App Router.
NOTE: Server Components cannot set cookies. Calling getAccessTokenForConnection() in a Server Component will cause the access token to be refreshed, if it is expired, and the updated token set will not to be persisted.
It is recommended to call getAccessTokenForConnection(req, res) in the middleware if you need to retrieve the access token in a Server Component to ensure the updated token set is persisted.
Retrieves an access token for a connection.
+Retrieves an access token for a connection.
This method can be used in middleware and getServerSideProps, API routes in the Pages Router.
getSession returns the session data for the current request.
+getSession returns the session data for the current request.
This method can be used in Server Components, Server Actions, and Route Handlers in the App Router.
-getSession returns the session data for the current request.
+getSession returns the session data for the current request.
This method can be used in middleware and getServerSideProps, API routes in the Pages Router.
middleware mounts the SDK routes to run as a middleware function.
-updateSession updates the session of the currently authenticated user. If the user does not have a session, an error is thrown.
+middleware mounts the SDK routes to run as a middleware function.
+updateSession updates the session of the currently authenticated user. If the user does not have a session, an error is thrown.
This method can be used in middleware and getServerSideProps, API routes, and middleware in the Pages Router.
updateSession updates the session of the currently authenticated user. If the user does not have a session, an error is thrown.
+updateSession updates the session of the currently authenticated user. If the user does not have a session, an error is thrown.
This method can be used in Server Actions and Route Handlers in the App Router.
-OptionalfnOrOpts: AppRouterPageRoute | WithPageAuthRequiredPageRouterOptionsOptionalopts: WithPageAuthRequiredAppRouterOptionsFilters and processes ID token claims for a session.
If a beforeSessionSaved callback is configured, it will be invoked to allow
custom processing of the session and ID token. Otherwise, default filtering
will be applied to remove standard ID token claims from the user object.
OptionalidToken: stringExchanges a refresh token for an access token for a connection.
+OptionalidToken: stringExchanges a refresh token for an access token for a connection.
This method performs a token exchange using the provided refresh token and connection details.
It first checks if the refresh token is present in the tokenSet. If not, it returns an error.
Then, it constructs the necessary parameters for the token exchange request and performs
@@ -24,11 +24,11 @@
The second element is either null if an error occurred, or a ConnectionTokenSet object
containing the access token, expiration time, and scope if the request was successful.
Retrieves OAuth token sets, handling token refresh when necessary or if forced.
OptionalforceRefresh: booleanA tuple containing either:
[SdkError, null] if an error occurred (missing refresh token, discovery failure, or refresh failure)[null, {tokenSet, idTokenClaims}] if a new token was retrieved, containing the new token set ID token claims[null, {tokenSet, }] if token refresh was not done and existing token was returnedTransactionStore is responsible for storing the state required to successfully complete +
TransactionStore is responsible for storing the state required to successfully complete an authentication transaction. The store relies on encrypted, stateless cookies to store the transaction state.
-Deletes all transaction cookies based on the configured prefix.
-Returns the configured prefix for transaction cookies.
-Deletes all transaction cookies based on the configured prefix.
+Returns the configured prefix for transaction cookies.
+Saves the transaction state to an encrypted cookie.
+The response cookies object to set the transaction cookie on
+The transaction state to save
+OptionalreqCookies: RequestCookiesOptional request cookies to check for existing transactions.
+When provided and enableParallelTransactions is false,
+will check for existing transaction cookies. When omitted,
+the existence check is skipped for performance optimization.
Enum representing error codes related to access tokens for connections.
-Enum representing error codes related to access tokens for connections.
+Failed to exchange the refresh token.
-The refresh token is missing.
-The session is missing.
-The refresh token is missing.
+The session is missing.
+Filters the claims to only include those that are considered default.
+Filters the claims to only include those that are considered default.
The claims to filter.
The filtered claims containing only default ID token claims.
-

The Auth0 Next.js SDK is a library for implementing user authentication in Next.js applications.
@@ -36,6 +36,9 @@
import { Auth0Client } from "@auth0/nextjs-auth0/server";
export const auth0 = new Auth0Client();
++The Auth0Client automatically uses safe defaults to manage authentication cookies. For advanced use cases, you can customize transaction cookie behavior by providing your own configuration. See Transaction Cookie Configuration for details.
+Create a middleware.ts file in the root of your project's directory:
import type { NextRequest } from "next/server";
import { auth0 } from "./lib/auth0"; // Adjust path if your auth0 client is elsewhere
export async function middleware(request: NextRequest) {
return await auth0.middleware(request);
}
export const config = {
matcher: [
/*
* Match all request paths except for the ones starting with:
* - _next/static (static files)
* - _next/image (image optimization files)
* - favicon.ico, sitemap.xml, robots.txt (metadata files)
*/
"/((?!_next/static|_next/image|favicon.ico|sitemap.xml|robots.txt).*)"
]
};
@@ -116,6 +119,16 @@ domain, path, secure, sameSite, and transient. If not specified, these can be configured using AUTH0_COOKIE_* environment variables. Note: httpOnly is always true. See Cookie Configuration for details.
booleantrue (default), each authentication attempt gets its own transaction cookie with a unique state suffix. When false, uses a single shared transaction cookie, which may cause conflicts with concurrent auth attempts. See Transaction Cookie Configuration for details.TransactionCookieOptionsBeforeSessionSavedHookWhile the authentication routes are handled automatically by the middleware, you can still customize the authentication flow through two main approaches:
+onCallback hook to add custom logic after authentication completesAdditional customization options include:
+beforeSessionSaved hook+When customizing auth handlers, always validate user inputs (especially redirect URLs) to prevent security vulnerabilities like open redirects. Use relative URLs when possible and implement proper input sanitization.
+Quick Start: For detailed examples and step-by-step migration patterns from v3, see Customizing Auth Handlers.
You can specify the following environment variables to configure the session cookie:
AUTH0_COOKIE_DOMAIN=
AUTH0_COOKIE_PATH=
@@ -217,4 +245,4 @@ What is Auth0?
This project is licensed under the MIT license. See the LICENSE file for more info.
-
+
diff --git a/docs/interfaces/client.WithPageAuthRequiredOptions.html b/docs/interfaces/client.WithPageAuthRequiredOptions.html
index 315addcf3..86385064f 100644
--- a/docs/interfaces/client.WithPageAuthRequiredOptions.html
+++ b/docs/interfaces/client.WithPageAuthRequiredOptions.html
@@ -1,17 +1,17 @@
-WithPageAuthRequiredOptions | @auth0/nextjs-auth0 - v4.8.0 Interface WithPageAuthRequiredOptions
Options to customize the withPageAuthRequired higher order component.
- interface WithPageAuthRequiredOptions {
onError?: (error: Error) => Element;
onRedirecting?: () => Element;
returnTo?: string;
}Index
Properties
on Error?
+WithPageAuthRequiredOptions | @auth0/nextjs-auth0 - v4.9.0 Interface WithPageAuthRequiredOptions
Options to customize the withPageAuthRequired higher order component.
+ interface WithPageAuthRequiredOptions {
onError?: (error: Error) => Element;
onRedirecting?: () => Element;
returnTo?: string;
}Index
Properties
Properties
Optionalon Error
onError?: (error: Error) => ElementwithPageAuthRequired(Profile, {
onError: error => <div>Error: {error.message}</div>
});
Render a fallback in case of error fetching the user from the profile API route.
-Optionalon Redirecting
onRedirecting?: () => ElementwithPageAuthRequired(Profile, {
onRedirecting: () => <div>Redirecting...</div>
});
+
Optionalon Redirecting
onRedirecting?: () => ElementwithPageAuthRequired(Profile, {
onRedirecting: () => <div>Redirecting...</div>
});
Render a message to show that the user is being redirected.
-Optionalreturn To
returnTo?: stringwithPageAuthRequired(Profile, {
returnTo: '/profile'
});
+
Optionalreturn To
returnTo?: stringwithPageAuthRequired(Profile, {
returnTo: '/profile'
});
Add a path to return the user to after login.
-
+
diff --git a/docs/interfaces/types.AccessTokenForConnectionOptions.html b/docs/interfaces/types.AccessTokenForConnectionOptions.html
index 809ff415b..4e0e98e37 100644
--- a/docs/interfaces/types.AccessTokenForConnectionOptions.html
+++ b/docs/interfaces/types.AccessTokenForConnectionOptions.html
@@ -1,6 +1,6 @@
-AccessTokenForConnectionOptions | @auth0/nextjs-auth0 - v4.8.0 Interface AccessTokenForConnectionOptions
Options for retrieving a connection access token.
-Index
Properties
connection
+AccessTokenForConnectionOptions | @auth0/nextjs-auth0 - v4.9.0 Interface AccessTokenForConnectionOptions
Options for retrieving a connection access token.
+Index
Properties
+Optionallogin_ hint
login_hint?: stringAn optional login hint to pass to the authorization server.
+
diff --git a/docs/interfaces/types.Auth0ClientOptions.html b/docs/interfaces/types.Auth0ClientOptions.html
index 954b6c0be..2642f5ff9 100644
--- a/docs/interfaces/types.Auth0ClientOptions.html
+++ b/docs/interfaces/types.Auth0ClientOptions.html
@@ -1,4 +1,4 @@
-Auth0ClientOptions | @auth0/nextjs-auth0 - v4.8.0 Interface Auth0ClientOptions
interface Auth0ClientOptions {
allowInsecureRequests?: boolean;
appBaseUrl?: string;
authorizationParameters?: AuthorizationParameters;
beforeSessionSaved?: BeforeSessionSavedHook;
clientAssertionSigningAlg?: string;
clientAssertionSigningKey?: string | CryptoKey;
clientId?: string;
clientSecret?: string;
domain?: string;
enableAccessTokenEndpoint?: boolean;
enableTelemetry?: boolean;
httpTimeout?: number;
logoutStrategy?: LogoutStrategy;
noContentProfileResponseWhenUnauthenticated?: boolean;
onCallback?: OnCallbackHook;
pushedAuthorizationRequests?: boolean;
routes?: Partial<
Pick<Routes, "login" | "callback" | "logout" | "backChannelLogout">,
>;
secret?: string;
session?: SessionConfiguration;
sessionStore?: SessionDataStore;
signInReturnToPath?: string;
transactionCookie?: TransactionCookieOptions;
}Index
Properties
allow Insecure Requests?
+Auth0ClientOptions | @auth0/nextjs-auth0 - v4.9.0 Interface Auth0ClientOptions
interface Auth0ClientOptions {
allowInsecureRequests?: boolean;
appBaseUrl?: string;
authorizationParameters?: AuthorizationParameters;
beforeSessionSaved?: BeforeSessionSavedHook;
clientAssertionSigningAlg?: string;
clientAssertionSigningKey?: string | CryptoKey;
clientId?: string;
clientSecret?: string;
domain?: string;
enableAccessTokenEndpoint?: boolean;
enableParallelTransactions?: boolean;
enableTelemetry?: boolean;
httpTimeout?: number;
logoutStrategy?: LogoutStrategy;
noContentProfileResponseWhenUnauthenticated?: boolean;
onCallback?: OnCallbackHook;
pushedAuthorizationRequests?: boolean;
routes?: Partial<
Pick<Routes, "login" | "callback" | "logout" | "backChannelLogout">,
>;
secret?: string;
session?: SessionConfiguration;
sessionStore?: SessionDataStore;
signInReturnToPath?: string;
transactionCookie?: TransactionCookieOptions;
}Index
Properties
Properties
Optionalallow Insecure Requests
allowInsecureRequests?: booleanAllow insecure requests to be made to the authorization server. This can be useful when testing
with a mock OIDC provider that does not support TLS, locally.
This option can only be used when NODE_ENV is not set to production.
-Optionalapp Base Url
appBaseUrl?: stringThe URL of your application (e.g.: http://localhost:3000).
+Optionalapp Base Url
appBaseUrl?: stringThe URL of your application (e.g.: http://localhost:3000).
If it's not specified, it will be loaded from the APP_BASE_URL environment variable.
-Optionalauthorization Parameters
Additional parameters to send to the /authorize endpoint.
-Optionalbefore Session Saved
A method to manipulate the session before persisting it.
+Optionalauthorization Parameters
Additional parameters to send to the /authorize endpoint.
+Optionalbefore Session Saved
A method to manipulate the session before persisting it.
See beforeSessionSaved for additional details
-Optionalclient Assertion Signing Alg
clientAssertionSigningAlg?: stringThe algorithm used to sign the client assertion JWT.
+
Optionalclient Assertion Signing Alg
clientAssertionSigningAlg?: stringThe algorithm used to sign the client assertion JWT.
Uses one of token_endpoint_auth_signing_alg_values_supported if not specified.
If the Authorization Server discovery document does not list token_endpoint_auth_signing_alg_values_supported
this property will be required.
-Optionalclient Assertion Signing Key
clientAssertionSigningKey?: string | CryptoKeyPrivate key for use with private_key_jwt clients.
+
Optionalclient Assertion Signing Key
clientAssertionSigningKey?: string | CryptoKeyPrivate key for use with private_key_jwt clients.
This should be a string that is the contents of a PEM file or a CryptoKey.
-Optionalclient Id
clientId?: stringThe Auth0 client ID.
+Optionalclient Id
clientId?: stringThe Auth0 client ID.
If it's not specified, it will be loaded from the AUTH0_CLIENT_ID environment variable.
-Optionalclient Secret
clientSecret?: stringThe Auth0 client secret.
+Optionalclient Secret
clientSecret?: stringThe Auth0 client secret.
If it's not specified, it will be loaded from the AUTH0_CLIENT_SECRET environment variable.
-Optionaldomain
domain?: stringThe Auth0 domain for the tenant (e.g.: example.us.auth0.com).
+Optionaldomain
domain?: stringThe Auth0 domain for the tenant (e.g.: example.us.auth0.com).
If it's not specified, it will be loaded from the AUTH0_DOMAIN environment variable.
-Optionalenable Access Token Endpoint
enableAccessTokenEndpoint?: booleanBoolean value to enable the /auth/access-token endpoint for use in the client app.
+Optionalenable Access Token Endpoint
enableAccessTokenEndpoint?: booleanBoolean value to enable the /auth/access-token endpoint for use in the client app.
Defaults to true.
NOTE: Set this to false if your client does not need to directly interact with resource servers (Token Mediating Backend). This will be false for most apps.
A security best practice is to disable this to avoid exposing access tokens to the client app.
-Optionalenable Telemetry
enableTelemetry?: booleanBoolean value to opt-out of sending the library name and version to your authorization server
+
Optionalenable Parallel Transactions
enableParallelTransactions?: booleanOptionalenable Telemetry
enableTelemetry?: booleanBoolean value to opt-out of sending the library name and version to your authorization server
via the Auth0-Client header. Defaults to true.
-Optionalhttp Timeout
httpTimeout?: numberInteger value for the HTTP timeout in milliseconds for authentication requests.
+
Optionalhttp Timeout
httpTimeout?: numberInteger value for the HTTP timeout in milliseconds for authentication requests.
Defaults to 5000 ms.
-Optionallogout Strategy
Configure the logout strategy to use.
+Optionallogout Strategy
Configure the logout strategy to use.
'auto' (default): Attempts OIDC RP-Initiated Logout first, falls back to /v2/logout if not supported
'oidc': Always uses OIDC RP-Initiated Logout (requires RP-Initiated Logout to be enabled)
'v2': Always uses the Auth0 /v2/logout endpoint (supports wildcards in allowed logout URLs)
-Optionalno Content Profile Response When Unauthenticated
noContentProfileResponseWhenUnauthenticated?: booleanIf true, the profile endpoint will return a 204 No Content response when the user is not authenticated
+
Optionalno Content Profile Response When Unauthenticated
noContentProfileResponseWhenUnauthenticated?: booleanIf true, the profile endpoint will return a 204 No Content response when the user is not authenticated
instead of returning a 401 Unauthorized response.
Defaults to false.
-Optionalon Callback
A method to handle errors or manage redirects after attempting to authenticate.
+Optionalon Callback
A method to handle errors or manage redirects after attempting to authenticate.
See onCallback for additional details
-Optionalpushed Authorization Requests
pushedAuthorizationRequests?: booleanIf enabled, the SDK will use the Pushed Authorization Requests (PAR) protocol when communicating with the authorization server.
-Optionalroutes
Configure the paths for the authentication routes.
+Optionalpushed Authorization Requests
pushedAuthorizationRequests?: booleanIf enabled, the SDK will use the Pushed Authorization Requests (PAR) protocol when communicating with the authorization server.
+Optionalroutes
Configure the paths for the authentication routes.
See Custom routes for additional details.
-Optionalsecret
secret?: stringA 32-byte, hex-encoded secret used for encrypting cookies.
+Optionalsecret
secret?: stringA 32-byte, hex-encoded secret used for encrypting cookies.
If it's not specified, it will be loaded from the AUTH0_SECRET environment variable.
-Optionalsession
Configure the session timeouts and whether to use rolling sessions or not.
+Optionalsession
Configure the session timeouts and whether to use rolling sessions or not.
See Session configuration for additional details.
-Optionalsession Store
A custom session store implementation used to persist sessions to a data store.
+Optionalsession Store
A custom session store implementation used to persist sessions to a data store.
See Database sessions for additional details.
-Optionalsign In Return To Path
signInReturnToPath?: stringThe path to redirect the user to after successfully authenticating. Defaults to /.
-Optionaltransaction Cookie
Configure the transaction cookie used to store the state of the authentication transaction.
-
+Optionalsign In Return To Path
signInReturnToPath?: stringThe path to redirect the user to after successfully authenticating. Defaults to /.
+Optionaltransaction Cookie
Configure the transaction cookie used to store the state of the authentication transaction.
+
diff --git a/docs/interfaces/types.AuthClientOptions.html b/docs/interfaces/types.AuthClientOptions.html
index c4669a802..69132b6eb 100644
--- a/docs/interfaces/types.AuthClientOptions.html
+++ b/docs/interfaces/types.AuthClientOptions.html
@@ -1,4 +1,4 @@
-AuthClientOptions | @auth0/nextjs-auth0 - v4.8.0 Interface AuthClientOptions
interface AuthClientOptions {
allowInsecureRequests?: boolean;
appBaseUrl: string;
authorizationParameters?: AuthorizationParameters;
beforeSessionSaved?: BeforeSessionSavedHook;
clientAssertionSigningAlg?: string;
clientAssertionSigningKey?: string | CryptoKey;
clientId: string;
clientSecret?: string;
domain: string;
enableAccessTokenEndpoint?: boolean;
enableTelemetry?: boolean;
fetch?: {
(input: URL | RequestInfo, init?: RequestInit): Promise<Response>;
(input: string | URL | Request, init?: RequestInit): Promise<Response>;
};
httpTimeout?: number;
jwksCache?: JWKSCacheInput;
logoutStrategy?: LogoutStrategy;
noContentProfileResponseWhenUnauthenticated?: boolean;
onCallback?: OnCallbackHook;
pushedAuthorizationRequests?: boolean;
routes?: Partial<
Pick<Routes, "login" | "callback" | "logout" | "backChannelLogout">,
>;
secret: string;
sessionStore: AbstractSessionStore;
signInReturnToPath?: string;
transactionStore: TransactionStore;
}Index
Properties
allow Insecure Requests?
+AuthClientOptions | @auth0/nextjs-auth0 - v4.9.0 Interface AuthClientOptions
interface AuthClientOptions {
allowInsecureRequests?: boolean;
appBaseUrl: string;
authorizationParameters?: AuthorizationParameters;
beforeSessionSaved?: BeforeSessionSavedHook;
clientAssertionSigningAlg?: string;
clientAssertionSigningKey?: string | CryptoKey;
clientId: string;
clientSecret?: string;
domain: string;
enableAccessTokenEndpoint?: boolean;
enableTelemetry?: boolean;
fetch?: {
(input: URL | RequestInfo, init?: RequestInit): Promise<Response>;
(input: string | Request | URL, init?: RequestInit): Promise<Response>;
};
httpTimeout?: number;
jwksCache?: JWKSCacheInput;
logoutStrategy?: LogoutStrategy;
noContentProfileResponseWhenUnauthenticated?: boolean;
onCallback?: OnCallbackHook;
pushedAuthorizationRequests?: boolean;
routes: Routes;
secret: string;
sessionStore: AbstractSessionStore;
signInReturnToPath?: string;
transactionStore: TransactionStore;
}Properties
Optionalallow Insecure Requests
allowInsecureRequests?: booleanapp Base Url
appBaseUrl: stringOptionalauthorization Parameters
Optionalbefore Session Saved
Optionalclient Assertion Signing Alg
clientAssertionSigningAlg?: stringOptionalclient Assertion Signing Key
clientAssertionSigningKey?: string | CryptoKeyclient Id
clientId: stringOptionalclient Secret
clientSecret?: stringdomain
domain: stringOptionalenable Access Token Endpoint
enableAccessTokenEndpoint?: booleanOptionalenable Telemetry
enableTelemetry?: booleanOptionalfetch
fetch?: {
(input: URL | RequestInfo, init?: RequestInit): Promise<Response>;
(input: string | URL | Request, init?: RequestInit): Promise<Response>;
}Type declaration
- (input: URL | RequestInfo, init?: RequestInit): Promise<Response>
Parameters
- input: URL | RequestInfo
Optionalinit: RequestInit
Returns Promise<Response>
- (input: string | URL | Request, init?: RequestInit): Promise<Response>
Parameters
- input: string | URL | Request
Optionalinit: RequestInit
Returns Promise<Response>
Optionalhttp Timeout
httpTimeout?: numberOptionaljwks Cache
jwksCache?: JWKSCacheInputOptionallogout Strategy
Optionalno Content Profile Response When Unauthenticated
noContentProfileResponseWhenUnauthenticated?: booleanOptionalon Callback
Optionalpushed Authorization Requests
pushedAuthorizationRequests?: booleanOptionalroutes
secret
secret: stringsession Store
Optionalsign In Return To Path
signInReturnToPath?: stringtransaction Store
+Properties
Optionalallow Insecure Requests
allowInsecureRequests?: booleanapp Base Url
appBaseUrl: stringOptionalauthorization Parameters
Optionalbefore Session Saved
Optionalclient Assertion Signing Alg
clientAssertionSigningAlg?: stringOptionalclient Assertion Signing Key
clientAssertionSigningKey?: string | CryptoKeyclient Id
clientId: stringOptionalclient Secret
clientSecret?: stringdomain
domain: stringOptionalenable Access Token Endpoint
enableAccessTokenEndpoint?: booleanOptionalenable Telemetry
enableTelemetry?: booleanOptionalfetch
fetch?: {
(input: URL | RequestInfo, init?: RequestInit): Promise<Response>;
(input: string | Request | URL, init?: RequestInit): Promise<Response>;
}Type declaration
- (input: URL | RequestInfo, init?: RequestInit): Promise<Response>
Parameters
- input: URL | RequestInfo
Optionalinit: RequestInit
Returns Promise<Response>
- (input: string | Request | URL, init?: RequestInit): Promise<Response>
Parameters
- input: string | Request | URL
Optionalinit: RequestInit
Returns Promise<Response>
Optionalhttp Timeout
httpTimeout?: numberOptionaljwks Cache
jwksCache?: JWKSCacheInputOptionallogout Strategy
Optionalno Content Profile Response When Unauthenticated
noContentProfileResponseWhenUnauthenticated?: booleanOptionalon Callback
Optionalpushed Authorization Requests
pushedAuthorizationRequests?: booleanroutes
secret
secret: stringsession Store
Optionalsign In Return To Path
signInReturnToPath?: stringtransaction Store
diff --git a/docs/interfaces/types.AuthorizationParameters.html b/docs/interfaces/types.AuthorizationParameters.html
index e291cab6c..10ce0bb9f 100644
--- a/docs/interfaces/types.AuthorizationParameters.html
+++ b/docs/interfaces/types.AuthorizationParameters.html
@@ -1,11 +1,11 @@
-AuthorizationParameters | @auth0/nextjs-auth0 - v4.8.0 Interface AuthorizationParameters
interface AuthorizationParameters {
audience?: null | string;
max_age?: number;
redirect_uri?: null | string;
scope?: null | string;
[key: string]: unknown;
}Indexable
- [key: string]: unknown
Additional authorization parameters.
-
Index
Properties
audience?
+AuthorizationParameters | @auth0/nextjs-auth0 - v4.9.0 Interface AuthorizationParameters
interface AuthorizationParameters {
audience?: null | string;
max_age?: number;
redirect_uri?: null | string;
scope?: null | string;
[key: string]: unknown;
}Indexable
- [key: string]: unknown
Additional authorization parameters.
+
Index
Properties
Properties
Optionalaudience
audience?: null | stringThe unique identifier of the target API you want to access.
-Optionalmax_ age
max_age?: numberThe maximum amount of time, in seconds, after which a user must reauthenticate.
-Optionalredirect_ uri
redirect_uri?: null | stringThe URL to which the authorization server will redirect the user after granting authorization.
-Optionalscope
scope?: null | stringThe scope of the access request, expressed as a list of space-delimited, case-sensitive strings.
+
Optionalmax_ age
max_age?: numberThe maximum amount of time, in seconds, after which a user must reauthenticate.
+Optionalredirect_ uri
redirect_uri?: null | stringThe URL to which the authorization server will redirect the user after granting authorization.
+Optionalscope
scope?: null | stringThe scope of the access request, expressed as a list of space-delimited, case-sensitive strings.
Defaults to "openid profile email offline_access".
-
+
diff --git a/docs/interfaces/types.ConnectionTokenSet.html b/docs/interfaces/types.ConnectionTokenSet.html
index da5a610cf..06b64d74d 100644
--- a/docs/interfaces/types.ConnectionTokenSet.html
+++ b/docs/interfaces/types.ConnectionTokenSet.html
@@ -1,5 +1,5 @@
-ConnectionTokenSet | @auth0/nextjs-auth0 - v4.8.0 Interface ConnectionTokenSet
interface ConnectionTokenSet {
accessToken: string;
connection: string;
expiresAt: number;
scope?: string;
[key: string]: unknown;
}Indexable
- [key: string]: unknown
Index
Properties
access Token
+ConnectionTokenSet | @auth0/nextjs-auth0 - v4.9.0 Interface ConnectionTokenSet
interface ConnectionTokenSet {
accessToken: string;
connection: string;
expiresAt: number;
scope?: string;
[key: string]: unknown;
}Indexable
- [key: string]: unknown
Index
Properties
+
diff --git a/docs/interfaces/types.CookieOptions.html b/docs/interfaces/types.CookieOptions.html
index be7ccbdd5..ff7f2e33d 100644
--- a/docs/interfaces/types.CookieOptions.html
+++ b/docs/interfaces/types.CookieOptions.html
@@ -1,8 +1,8 @@
-CookieOptions | @auth0/nextjs-auth0 - v4.8.0 Interface CookieOptions
interface CookieOptions {
domain?: string;
httpOnly: boolean;
maxAge?: number;
path: string;
sameSite: "lax" | "strict" | "none";
secure: boolean;
transient?: boolean;
}
diff --git a/docs/interfaces/types.Routes.html b/docs/interfaces/types.Routes.html
index 8525aac36..bc136863d 100644
--- a/docs/interfaces/types.Routes.html
+++ b/docs/interfaces/types.Routes.html
@@ -1,7 +1,7 @@
-Routes | @auth0/nextjs-auth0 - v4.8.0 Interface Routes
interface Routes {
accessToken: string;
backChannelLogout: string;
callback: string;
login: string;
logout: string;
profile: string;
}Index
Properties
access Token
+Routes | @auth0/nextjs-auth0 - v4.9.0 Interface Routes
interface Routes {
accessToken: string;
backChannelLogout: string;
callback: string;
login: string;
logout: string;
profile: string;
}Index
Properties
+
diff --git a/docs/interfaces/types.SessionConfiguration.html b/docs/interfaces/types.SessionConfiguration.html
index 484343578..18dbdfbe6 100644
--- a/docs/interfaces/types.SessionConfiguration.html
+++ b/docs/interfaces/types.SessionConfiguration.html
@@ -1,16 +1,16 @@
-SessionConfiguration | @auth0/nextjs-auth0 - v4.8.0 Interface SessionConfiguration
interface SessionConfiguration {
absoluteDuration?: number;
cookie?: SessionCookieOptions;
inactivityDuration?: number;
rolling?: boolean;
}Hierarchy (View Summary)
- SessionConfiguration
Index
Properties
absolute Duration?
+SessionConfiguration | @auth0/nextjs-auth0 - v4.9.0 Interface SessionConfiguration
interface SessionConfiguration {
absoluteDuration?: number;
cookie?: SessionCookieOptions;
inactivityDuration?: number;
rolling?: boolean;
}Hierarchy (View Summary)
- SessionConfiguration
Index
Properties
Properties
Optionalabsolute Duration
absoluteDuration?: numberThe absolute duration after which the session will expire. The value must be specified in seconds..
Once the absolute duration has been reached, the session will no longer be extended.
Default: 3 days.
-Optionalcookie
The options for the session cookie.
-Optionalinactivity Duration
inactivityDuration?: numberThe duration of inactivity after which the session will expire. The value must be specified in seconds.
+Optionalcookie
The options for the session cookie.
+Optionalinactivity Duration
inactivityDuration?: numberThe duration of inactivity after which the session will expire. The value must be specified in seconds.
The session will be extended as long as it was active before the inactivity duration has been reached.
Default: 1 day.
-Optionalrolling
rolling?: booleanA boolean indicating whether rolling sessions should be used or not.
+Optionalrolling
rolling?: booleanA boolean indicating whether rolling sessions should be used or not.
When enabled, the session will continue to be extended as long as it is used within the inactivity duration.
Once the upper bound, set via the absoluteDuration, has been reached, the session will no longer be extended.
Default: true.
-
+
diff --git a/docs/interfaces/types.SessionCookieOptions.html b/docs/interfaces/types.SessionCookieOptions.html
index a87e0f8cd..2f2502f45 100644
--- a/docs/interfaces/types.SessionCookieOptions.html
+++ b/docs/interfaces/types.SessionCookieOptions.html
@@ -1,4 +1,4 @@
-SessionCookieOptions | @auth0/nextjs-auth0 - v4.8.0 Interface SessionCookieOptions
interface SessionCookieOptions {
domain?: string;
name?: string;
path?: string;
sameSite?: "lax" | "strict" | "none";
secure?: boolean;
transient?: boolean;
}Index
Properties
domain?
+SessionCookieOptions | @auth0/nextjs-auth0 - v4.9.0 Interface SessionCookieOptions
interface SessionCookieOptions {
domain?: string;
name?: string;
path?: string;
sameSite?: "lax" | "strict" | "none";
secure?: boolean;
transient?: boolean;
}Properties
Optionaldomain
domain?: stringSpecifies the value for the Set-Cookie attribute. By default, no
domain is set, and most clients will consider the cookie to apply to only
the current domain.
-Optionalname
name?: stringThe name of the session cookie.
+Optionalname
name?: stringThe name of the session cookie.
Default: __session.
-Optionalpath
path?: stringThe path attribute of the session cookie. Will be set to '/' by default.
-Optionalsame Site
sameSite?: "lax" | "strict" | "none"The sameSite attribute of the session cookie.
+Optionalpath
path?: stringThe path attribute of the session cookie. Will be set to '/' by default.
+Optionalsame Site
sameSite?: "lax" | "strict" | "none"The sameSite attribute of the session cookie.
Default: lax.
-Optionalsecure
secure?: booleanThe secure attribute of the session cookie.
+Optionalsecure
secure?: booleanThe secure attribute of the session cookie.
Default: depends on the protocol of the application's base URL. If the protocol is https, then true, otherwise false.
-Optionaltransient
transient?: booleanThe transient attribute of the session cookie. When true, the cookie will not persist beyond the current session.
-
+Optionaltransient
transient?: booleanThe transient attribute of the session cookie. When true, the cookie will not persist beyond the current session.
+
diff --git a/docs/interfaces/types.SessionData.html b/docs/interfaces/types.SessionData.html
index 481b1f57c..57d518538 100644
--- a/docs/interfaces/types.SessionData.html
+++ b/docs/interfaces/types.SessionData.html
@@ -1,5 +1,5 @@
-SessionData | @auth0/nextjs-auth0 - v4.8.0 Interface SessionData
interface SessionData {
connectionTokenSets?: ConnectionTokenSet[];
internal: { createdAt: number; sid: string };
tokenSet: TokenSet;
user: User;
[key: string]: unknown;
}Indexable
- [key: string]: unknown
Index
Properties
connection Token Sets?
+SessionData | @auth0/nextjs-auth0 - v4.9.0 Interface SessionData
interface SessionData {
connectionTokenSets?: ConnectionTokenSet[];
internal: { createdAt: number; sid: string };
tokenSet: TokenSet;
user: User;
[key: string]: unknown;
}Indexable
- [key: string]: unknown
Index
Properties
+
diff --git a/docs/interfaces/types.SessionDataStore.html b/docs/interfaces/types.SessionDataStore.html
index b9655a480..b57b04a05 100644
--- a/docs/interfaces/types.SessionDataStore.html
+++ b/docs/interfaces/types.SessionDataStore.html
@@ -1,9 +1,9 @@
-SessionDataStore | @auth0/nextjs-auth0 - v4.8.0 Interface SessionDataStore
interface SessionDataStore {
delete(id: string): Promise<void>;
deleteByLogoutToken(logoutToken: LogoutToken): Promise<void>;
get(id: string): Promise<null | SessionData>;
set(id: string, session: SessionData): Promise<void>;
}Index
Methods
delete
+SessionDataStore | @auth0/nextjs-auth0 - v4.9.0 Interface SessionDataStore
interface SessionDataStore {
delete(id: string): Promise<void>;
deleteByLogoutToken(logoutToken: LogoutToken): Promise<void>;
get(id: string): Promise<null | SessionData>;
set(id: string, session: SessionData): Promise<void>;
}Index
Methods
Methods
delete
Destroys the session with the given session ID.
-Parameters
- id: string
Returns Promise<void>
Optionaldelete By Logout Token
Deletes the session with the given logout token which may contain a session ID or a user ID, or both.
-Parameters
- logoutToken: LogoutToken
Returns Promise<void>
get
Gets the session from the store given a session ID.
-Parameters
- id: string
Returns Promise<null | SessionData>
set
Upsert a session in the store given a session ID and SessionData.
-Parameters
- id: string
- session: SessionData
Returns Promise<void>
+Parameters
- id: string
Returns Promise<void>
Optionaldelete By Logout Token
Deletes the session with the given logout token which may contain a session ID or a user ID, or both.
+Parameters
- logoutToken: LogoutToken
Returns Promise<void>
get
Gets the session from the store given a session ID.
+Parameters
- id: string
Returns Promise<null | SessionData>
set
Upsert a session in the store given a session ID and SessionData.
+Parameters
- id: string
- session: SessionData
Returns Promise<void>
diff --git a/docs/interfaces/types.SessionStoreOptions.html b/docs/interfaces/types.SessionStoreOptions.html
index b61cb405d..f6bcdcb62 100644
--- a/docs/interfaces/types.SessionStoreOptions.html
+++ b/docs/interfaces/types.SessionStoreOptions.html
@@ -1,4 +1,4 @@
-SessionStoreOptions | @auth0/nextjs-auth0 - v4.8.0 Interface SessionStoreOptions
interface SessionStoreOptions {
absoluteDuration?: number;
cookie?: SessionCookieOptions;
cookieOptions?: SessionCookieOptions;
inactivityDuration?: number;
rolling?: boolean;
secret: string;
store?: SessionDataStore;
}Hierarchy (View Summary)
- SessionConfiguration
- SessionStoreOptions
Index
Properties
absolute Duration?
+SessionStoreOptions | @auth0/nextjs-auth0 - v4.9.0 Interface SessionStoreOptions
interface SessionStoreOptions {
absoluteDuration?: number;
cookie?: SessionCookieOptions;
cookieOptions?: SessionCookieOptions;
inactivityDuration?: number;
rolling?: boolean;
secret: string;
store?: SessionDataStore;
}Hierarchy (View Summary)
- SessionConfiguration
- SessionStoreOptions
Index
Properties
Properties
Optionalabsolute Duration
absoluteDuration?: numberThe absolute duration after which the session will expire. The value must be specified in seconds..
Once the absolute duration has been reached, the session will no longer be extended.
Default: 3 days.
-Optionalcookie
The options for the session cookie.
-Optionalcookie Options
Optionalinactivity Duration
inactivityDuration?: numberThe duration of inactivity after which the session will expire. The value must be specified in seconds.
+Optionalcookie
The options for the session cookie.
+Optionalcookie Options
Optionalinactivity Duration
inactivityDuration?: numberThe duration of inactivity after which the session will expire. The value must be specified in seconds.
The session will be extended as long as it was active before the inactivity duration has been reached.
Default: 1 day.
-Optionalrolling
rolling?: booleanA boolean indicating whether rolling sessions should be used or not.
+Optionalrolling
rolling?: booleanA boolean indicating whether rolling sessions should be used or not.
When enabled, the session will continue to be extended as long as it is used within the inactivity duration.
Once the upper bound, set via the absoluteDuration, has been reached, the session will no longer be extended.
Default: true.
-secret
secret: stringOptionalstore
+secret
secret: stringOptionalstore
diff --git a/docs/interfaces/types.StartInteractiveLoginOptions.html b/docs/interfaces/types.StartInteractiveLoginOptions.html
index 30c15ab06..c0ebd8e00 100644
--- a/docs/interfaces/types.StartInteractiveLoginOptions.html
+++ b/docs/interfaces/types.StartInteractiveLoginOptions.html
@@ -1,5 +1,5 @@
-StartInteractiveLoginOptions | @auth0/nextjs-auth0 - v4.8.0 Interface StartInteractiveLoginOptions
interface StartInteractiveLoginOptions {
authorizationParameters?: AuthorizationParameters;
returnTo?: string;
}Index
Properties
authorization Parameters?
+StartInteractiveLoginOptions | @auth0/nextjs-auth0 - v4.9.0 Interface StartInteractiveLoginOptions
interface StartInteractiveLoginOptions {
authorizationParameters?: AuthorizationParameters;
returnTo?: string;
}Index
Properties
+Optionalreturn To
returnTo?: stringThe URL to redirect to after a successful login.
+
diff --git a/docs/interfaces/types.TokenSet.html b/docs/interfaces/types.TokenSet.html
index 20e9d6f03..bb7983500 100644
--- a/docs/interfaces/types.TokenSet.html
+++ b/docs/interfaces/types.TokenSet.html
@@ -1,6 +1,6 @@
-TokenSet | @auth0/nextjs-auth0 - v4.8.0 Interface TokenSet
interface TokenSet {
accessToken: string;
expiresAt: number;
idToken?: string;
refreshToken?: string;
scope?: string;
}Index
Properties
access Token
+TokenSet | @auth0/nextjs-auth0 - v4.9.0 Interface TokenSet
interface TokenSet {
accessToken: string;
expiresAt: number;
idToken?: string;
refreshToken?: string;
scope?: string;
}Index
Properties
+
diff --git a/docs/interfaces/types.TransactionCookieOptions.html b/docs/interfaces/types.TransactionCookieOptions.html
index 07a866d8c..40b0ef5c7 100644
--- a/docs/interfaces/types.TransactionCookieOptions.html
+++ b/docs/interfaces/types.TransactionCookieOptions.html
@@ -1,12 +1,22 @@
-TransactionCookieOptions | @auth0/nextjs-auth0 - v4.8.0 Interface TransactionCookieOptions
interface TransactionCookieOptions {
path?: string;
prefix?: string;
sameSite?: "lax" | "strict" | "none";
secure?: boolean;
}Index
Properties
path?
+TransactionCookieOptions | @auth0/nextjs-auth0 - v4.9.0 Interface TransactionCookieOptions
interface TransactionCookieOptions {
domain?: string;
maxAge?: number;
path?: string;
prefix?: string;
sameSite?: "lax" | "strict" | "none";
secure?: boolean;
}Properties
Optionaldomain
domain?: stringSpecifies the value for the Set-Cookie attribute. By default, no
+domain is set, and most clients will consider the cookie to apply to only
+the current domain.
+Optionalmax Age
maxAge?: numberThe expiration time for transaction cookies in seconds.
+If not provided, defaults to 1 hour (3600 seconds).
+Optionalpath
path?: stringThe path attribute of the transaction cookie. Will be set to '/' by default.
+Optionalprefix
prefix?: stringThe prefix of the cookie used to store the transaction state.
Default: __txn_{state}.
-Optionalsame Site
sameSite?: "lax" | "strict" | "none"The sameSite attribute of the transaction cookie.
+Optionalsame Site
sameSite?: "lax" | "strict" | "none"The sameSite attribute of the transaction cookie.
Default: lax.
-Optionalsecure
secure?: booleanThe secure attribute of the transaction cookie.
+Optionalsecure
secure?: booleanThe secure attribute of the transaction cookie.
Default: depends on the protocol of the application's base URL. If the protocol is https, then true, otherwise false.
-
+
diff --git a/docs/interfaces/types.TransactionState.html b/docs/interfaces/types.TransactionState.html
index bf23391ca..a0928be0c 100644
--- a/docs/interfaces/types.TransactionState.html
+++ b/docs/interfaces/types.TransactionState.html
@@ -1,8 +1,8 @@
-TransactionState | @auth0/nextjs-auth0 - v4.8.0 Interface TransactionState
interface TransactionState {
codeVerifier: string;
maxAge?: number;
nonce: string;
responseType: string;
returnTo: string;
state: string;
[propName: string]: unknown;
}Hierarchy
- JWTPayload
- TransactionState
Indexable
- [propName: string]: unknown
Any other JWT Claim Set member.
-
Index
Properties
code Verifier
+TransactionState | @auth0/nextjs-auth0 - v4.9.0 Interface TransactionState
interface TransactionState {
codeVerifier: string;
maxAge?: number;
nonce: string;
responseType: string;
returnTo: string;
state: string;
[propName: string]: unknown;
}Hierarchy
- JWTPayload
- TransactionState
Indexable
- [propName: string]: unknown
Any other JWT Claim Set member.
+
Index
Properties
+
diff --git a/docs/interfaces/types.TransactionStoreOptions.html b/docs/interfaces/types.TransactionStoreOptions.html
index 586832367..81411226d 100644
--- a/docs/interfaces/types.TransactionStoreOptions.html
+++ b/docs/interfaces/types.TransactionStoreOptions.html
@@ -1,3 +1,10 @@
-TransactionStoreOptions | @auth0/nextjs-auth0 - v4.8.0 Interface TransactionStoreOptions
Index
Properties
cookie Options?
+TransactionStoreOptions | @auth0/nextjs-auth0 - v4.9.0 Interface TransactionStoreOptions
interface TransactionStoreOptions {
cookieOptions?: TransactionCookieOptions;
enableParallelTransactions?: boolean;
secret: string;
}Index
Properties
+Properties
Optionalcookie Options
Optionalenable Parallel Transactions
enableParallelTransactions?: booleanControls whether multiple parallel login transactions are allowed.
+When false, only one transaction cookie is maintained at a time.
+When true (default), multiple transaction cookies can coexist for multi-tab support.
+secret
secret: string
diff --git a/docs/interfaces/types.User.html b/docs/interfaces/types.User.html
index b453b12dc..1c196afba 100644
--- a/docs/interfaces/types.User.html
+++ b/docs/interfaces/types.User.html
@@ -1,4 +1,4 @@
-User | @auth0/nextjs-auth0 - v4.8.0 Interface User
interface User {
email?: string;
email_verified?: boolean;
family_name?: string;
given_name?: string;
name?: string;
nickname?: string;
org_id?: string;
picture?: string;
sub: string;
[key: string]: any;
}Indexable
- [key: string]: any
Index
Properties
email?
+User | @auth0/nextjs-auth0 - v4.9.0 Interface User
interface User {
email?: string;
email_verified?: boolean;
family_name?: string;
given_name?: string;
name?: string;
nickname?: string;
org_id?: string;
picture?: string;
sub: string;
[key: string]: any;
}Indexable
- [key: string]: any
Index
Properties
+
diff --git a/docs/modules.html b/docs/modules.html
index 993dd1134..8ed934659 100644
--- a/docs/modules.html
+++ b/docs/modules.html
@@ -1 +1 @@
-@auth0/nextjs-auth0 - v4.8.0
+@auth0/nextjs-auth0 - v4.9.0
diff --git a/docs/modules/client.html b/docs/modules/client.html
index afebe5d3a..cb04559f4 100644
--- a/docs/modules/client.html
+++ b/docs/modules/client.html
@@ -1 +1 @@
-client | @auth0/nextjs-auth0 - v4.8.0 Module client
Interfaces
Type Aliases
Variables
Functions
+client | @auth0/nextjs-auth0 - v4.9.0 Module client
Interfaces
Type Aliases
Variables
Functions
diff --git a/docs/modules/errors.html b/docs/modules/errors.html
index e945fe215..84f76cc92 100644
--- a/docs/modules/errors.html
+++ b/docs/modules/errors.html
@@ -1 +1 @@
-errors | @auth0/nextjs-auth0 - v4.8.0
+errors | @auth0/nextjs-auth0 - v4.9.0
diff --git a/docs/modules/server.html b/docs/modules/server.html
index 548ec525c..326fbfbf8 100644
--- a/docs/modules/server.html
+++ b/docs/modules/server.html
@@ -1 +1 @@
-server | @auth0/nextjs-auth0 - v4.8.0 Module server
Variables
Functions
+server | @auth0/nextjs-auth0 - v4.9.0 Module server
Type Aliases
Variables
Functions
diff --git a/docs/modules/testing.html b/docs/modules/testing.html
index f7723ae53..bdf20a711 100644
--- a/docs/modules/testing.html
+++ b/docs/modules/testing.html
@@ -1 +1 @@
-testing | @auth0/nextjs-auth0 - v4.8.0
+testing | @auth0/nextjs-auth0 - v4.9.0
diff --git a/docs/modules/types.html b/docs/modules/types.html
index c4ea2e291..eae356bd7 100644
--- a/docs/modules/types.html
+++ b/docs/modules/types.html
@@ -1 +1 @@
-types | @auth0/nextjs-auth0 - v4.8.0 Module types
Interfaces
- AccessTokenForConnectionOptions
- Auth0ClientOptions
- AuthClientOptions
- AuthorizationParameters
- ConnectionTokenSet
- CookieOptions
- Routes
- SessionConfiguration
- SessionCookieOptions
- SessionData
- SessionDataStore
- SessionStoreOptions
- StartInteractiveLoginOptions
- TokenSet
- TransactionCookieOptions
- TransactionState
- TransactionStoreOptions
- User
+types | @auth0/nextjs-auth0 - v4.9.0 Module types
Interfaces
- AccessTokenForConnectionOptions
- Auth0ClientOptions
- AuthClientOptions
- AuthorizationParameters
- ConnectionTokenSet
- CookieOptions
- Routes
- SessionConfiguration
- SessionCookieOptions
- SessionData
- SessionDataStore
- SessionStoreOptions
- StartInteractiveLoginOptions
- TokenSet
- TransactionCookieOptions
- TransactionState
- TransactionStoreOptions
- User
diff --git a/docs/types/client.WithPageAuthRequired.html b/docs/types/client.WithPageAuthRequired.html
index c78492370..963d15af0 100644
--- a/docs/types/client.WithPageAuthRequired.html
+++ b/docs/types/client.WithPageAuthRequired.html
@@ -1,6 +1,6 @@
-WithPageAuthRequired | @auth0/nextjs-auth0 - v4.8.0 Type Alias WithPageAuthRequired
WithPageAuthRequired: <P extends object>(
Component: ComponentType<P & UserProps>,
options?: WithPageAuthRequiredOptions,
) => React.FC<P>const MyProtectedPage = withPageAuthRequired(MyPage);
+WithPageAuthRequired | @auth0/nextjs-auth0 - v4.9.0 Type Alias WithPageAuthRequired
WithPageAuthRequired: <P extends object>(
Component: ComponentType<P & UserProps>,
options?: WithPageAuthRequiredOptions,
) => React.FC<P>const MyProtectedPage = withPageAuthRequired(MyPage);
When you wrap your pages in this higher order component and an anonymous user visits your page,
they will be redirected to the login page and then returned to the page they were redirected from (after login).
-Type declaration
- <P extends object>(
Component: ComponentType<P & UserProps>,
options?: WithPageAuthRequiredOptions,
): React.FC<P> Type Parameters
- P extends object
Parameters
- Component: ComponentType<P & UserProps>
Optionaloptions: WithPageAuthRequiredOptions
Returns React.FC<P>
+
Type declaration
- <P extends object>(
Component: ComponentType<P & UserProps>,
options?: WithPageAuthRequiredOptions,
): React.FC<P> Type Parameters
- P extends object
Parameters
- Component: ComponentType<P & UserProps>
Optionaloptions: WithPageAuthRequiredOptions
Returns React.FC<P>
diff --git a/docs/types/server.AppRouterPageRoute.html b/docs/types/server.AppRouterPageRoute.html
new file mode 100644
index 000000000..adfdf26ab
--- /dev/null
+++ b/docs/types/server.AppRouterPageRoute.html
@@ -0,0 +1,2 @@
+AppRouterPageRoute | @auth0/nextjs-auth0 - v4.9.0 Type Alias AppRouterPageRoute
An app route that has been augmented with WithPageAuthRequired.
+Type declaration
- (obj: AppRouterPageRouteOpts): Promise<React.JSX.Element>
Parameters
Returns Promise<React.JSX.Element>
diff --git a/docs/types/server.AppRouterPageRouteOpts.html b/docs/types/server.AppRouterPageRouteOpts.html
new file mode 100644
index 000000000..ba5f897f2
--- /dev/null
+++ b/docs/types/server.AppRouterPageRouteOpts.html
@@ -0,0 +1,4 @@
+AppRouterPageRouteOpts | @auth0/nextjs-auth0 - v4.9.0 Type Alias AppRouterPageRouteOpts
Objects containing the route parameters and search parameters of the page.
+ type AppRouterPageRouteOpts = {
params?: Promise<Record<string, string | string[]>>;
searchParams?: Promise<{ [key: string]: undefined | string | string[] }>;
}Index
Properties
diff --git a/docs/types/server.GetServerSidePropsResultWithSession.html b/docs/types/server.GetServerSidePropsResultWithSession.html
new file mode 100644
index 000000000..bf3fc6f1a
--- /dev/null
+++ b/docs/types/server.GetServerSidePropsResultWithSession.html
@@ -0,0 +1,6 @@
+GetServerSidePropsResultWithSession | @auth0/nextjs-auth0 - v4.9.0 Type Alias GetServerSidePropsResultWithSession<P>
If you wrap your getServerSideProps with WithPageAuthRequired your props object will be augmented with
+the user property, which will be the User object.
+// pages/profile.js
import { auth0 } from "@/lib/auth0";
export default function Profile({ user }) {
return <div>Hello {user.name}</div>;
}
export const getServerSideProps = auth0.withPageAuthRequired();
+
+
+Type Parameters
- P = any
diff --git a/docs/types/server.PageRoute.html b/docs/types/server.PageRoute.html
new file mode 100644
index 000000000..24b283419
--- /dev/null
+++ b/docs/types/server.PageRoute.html
@@ -0,0 +1,2 @@
+PageRoute | @auth0/nextjs-auth0 - v4.9.0 Type Alias PageRoute<P, Q>
A page route that has been augmented with WithPageAuthRequired.
+Type Parameters
- P
- Q extends ParsedUrlQuery = ParsedUrlQuery
Type declaration
- (
ctx: GetServerSidePropsContext<Q>,
): Promise<GetServerSidePropsResultWithSession<P>> Parameters
- ctx: GetServerSidePropsContext<Q>
Returns Promise<GetServerSidePropsResultWithSession<P>>
diff --git a/docs/types/server.WithPageAuthRequired.html b/docs/types/server.WithPageAuthRequired.html
new file mode 100644
index 000000000..145e08b5c
--- /dev/null
+++ b/docs/types/server.WithPageAuthRequired.html
@@ -0,0 +1,3 @@
+WithPageAuthRequired | @auth0/nextjs-auth0 - v4.9.0 Type Alias WithPageAuthRequired
Protects Page router pages WithPageAuthRequiredPageRouter or
+App router pages WithPageAuthRequiredAppRouter
+
diff --git a/docs/types/server.WithPageAuthRequiredAppRouter.html b/docs/types/server.WithPageAuthRequiredAppRouter.html
new file mode 100644
index 000000000..9d22e2a39
--- /dev/null
+++ b/docs/types/server.WithPageAuthRequiredAppRouter.html
@@ -0,0 +1,17 @@
+WithPageAuthRequiredAppRouter | @auth0/nextjs-auth0 - v4.9.0 Type Alias WithPageAuthRequiredAppRouter
WithPageAuthRequiredAppRouter: (
fn: AppRouterPageRoute,
opts?: WithPageAuthRequiredAppRouterOptions,
) => AppRouterPageRouteWrap your Server Component with this method to make sure the user is authenticated before
+visiting the page.
+// app/protected-page/page.js
import { auth0 } from "@/lib/auth0";
const ProtectedPage = auth0.withPageAuthRequired(async function ProtectedPage() {
return <div>Protected content</div>;
}, { returnTo: '/protected-page' });
export default ProtectedPage;
+
+
+If the user visits /protected-page without a valid session, it will redirect the user to the
+login page.
+Note: Server Components are not aware of the req or the url of the page. So if you want the user to return to the
+page after login, you must specify the returnTo option.
+You can specify a function to returnTo that accepts the params (A Promise that resolves to
+an object containing the dynamic route parameters) and searchParams (A Promise that resolves to an
+object containing the search parameters of the current URL)
+argument from the page, to preserve dynamic routes and search params.
+// app/protected-page/[slug]/page.js
import { AppRouterPageRouteOpts } from '@auth0/nextjs-auth0/server';
import { auth0 } from "@/lib/auth0";
const ProtectedPage = auth0.withPageAuthRequired(async function ProtectedPage({
params, searchParams
}: AppRouterPageRouteOpts) {
const slug = (await params)?.slug as string;
return <div>Protected content for {slug}</div>;
}, {
returnTo({ params }) {
return `/protected-page/${(await params)?.slug}`;
}
});
export default ProtectedPage;
+
+
+Type declaration
- (
fn: AppRouterPageRoute,
opts?: WithPageAuthRequiredAppRouterOptions,
): AppRouterPageRoute Parameters
- fn: AppRouterPageRoute
Optionalopts: WithPageAuthRequiredAppRouterOptions
Returns AppRouterPageRoute
diff --git a/docs/types/server.WithPageAuthRequiredAppRouterOptions.html b/docs/types/server.WithPageAuthRequiredAppRouterOptions.html
new file mode 100644
index 000000000..6e56fa0bb
--- /dev/null
+++ b/docs/types/server.WithPageAuthRequiredAppRouterOptions.html
@@ -0,0 +1,4 @@
+WithPageAuthRequiredAppRouterOptions | @auth0/nextjs-auth0 - v4.9.0 Type Alias WithPageAuthRequiredAppRouterOptions
Specify the URL to returnTo - this is important in app router pages because the server component
+won't know the URL of the page.
+ type WithPageAuthRequiredAppRouterOptions = {
returnTo?:
| string
| ((obj: AppRouterPageRouteOpts) => Promise<string> | string);
}Index
Properties
diff --git a/docs/types/server.WithPageAuthRequiredPageRouter.html b/docs/types/server.WithPageAuthRequiredPageRouter.html
new file mode 100644
index 000000000..6f8c3bdaf
--- /dev/null
+++ b/docs/types/server.WithPageAuthRequiredPageRouter.html
@@ -0,0 +1,8 @@
+WithPageAuthRequiredPageRouter | @auth0/nextjs-auth0 - v4.9.0 Type Alias WithPageAuthRequiredPageRouter
WithPageAuthRequiredPageRouter: <
P extends { [key: string]: any } = { [key: string]: any },
Q extends ParsedUrlQuery = ParsedUrlQuery,
>(
opts?: WithPageAuthRequiredPageRouterOptions<P, Q>,
) => PageRoute<P, Q>Wrap your getServerSideProps with this method to make sure the user is authenticated before
+visiting the page.
+// pages/protected-page.js
import { auth0 } from "@/lib/auth0";
export default function ProtectedPage() {
return <div>Protected content</div>;
}
export const getServerSideProps = auth0.withPageAuthRequired();
+
+
+If the user visits /protected-page without a valid session, it will redirect the user to the
+login page. Then they will be returned to /protected-page after login.
+Type declaration
- <
P extends { [key: string]: any } = { [key: string]: any },
Q extends ParsedUrlQuery = ParsedUrlQuery,
>(
opts?: WithPageAuthRequiredPageRouterOptions<P, Q>,
): PageRoute<P, Q> Type Parameters
- P extends { [key: string]: any } = { [key: string]: any }
- Q extends ParsedUrlQuery = ParsedUrlQuery
Parameters
Optionalopts: WithPageAuthRequiredPageRouterOptions<P, Q>
Returns PageRoute<P, Q>
diff --git a/docs/types/server.WithPageAuthRequiredPageRouterOptions.html b/docs/types/server.WithPageAuthRequiredPageRouterOptions.html
new file mode 100644
index 000000000..ca50a0936
--- /dev/null
+++ b/docs/types/server.WithPageAuthRequiredPageRouterOptions.html
@@ -0,0 +1,10 @@
+WithPageAuthRequiredPageRouterOptions | @auth0/nextjs-auth0 - v4.9.0 Type Alias WithPageAuthRequiredPageRouterOptions<P, Q>
If you have a custom returnTo url you should specify it in returnTo.
+You can pass in your own getServerSideProps method, the props returned from this will be
+merged with the user props. You can also access the user session data by calling getSession
+inside of this method. For example:
+// pages/protected-page.js
import { auth0 } from "@/lib/auth0";
export default function ProtectedPage({ user, customProp }) {
return <div>Protected content</div>;
}
export const getServerSideProps = auth0.withPageAuthRequired({
// returnTo: '/unauthorized',
async getServerSideProps(ctx) {
// access the user session if needed
// const session = await auth0.getSession(ctx.req);
return {
props: {
// customProp: 'bar',
}
};
}
});
+
+
+ type WithPageAuthRequiredPageRouterOptions<
P extends { [key: string]: any } = { [key: string]: any },
Q extends ParsedUrlQuery = ParsedUrlQuery,
> = {
getServerSideProps?: GetServerSideProps<P, Q>;
returnTo?: string;
}Type Parameters
- P extends { [key: string]: any } = { [key: string]: any }
- Q extends ParsedUrlQuery = ParsedUrlQuery
Index
Properties
diff --git a/docs/types/testing.GenerateSessionCookieConfig.html b/docs/types/testing.GenerateSessionCookieConfig.html
index 994e2e8d2..0190babb5 100644
--- a/docs/types/testing.GenerateSessionCookieConfig.html
+++ b/docs/types/testing.GenerateSessionCookieConfig.html
@@ -1,4 +1,4 @@
-GenerateSessionCookieConfig | @auth0/nextjs-auth0 - v4.8.0 Type Alias GenerateSessionCookieConfig
Index
Properties
diff --git a/docs/types/types.BeforeSessionSavedHook.html b/docs/types/types.BeforeSessionSavedHook.html
index 20643ad49..b5b410dde 100644
--- a/docs/types/types.BeforeSessionSavedHook.html
+++ b/docs/types/types.BeforeSessionSavedHook.html
@@ -1 +1 @@
-BeforeSessionSavedHook | @auth0/nextjs-auth0 - v4.8.0 Type Alias BeforeSessionSavedHook
Type declaration
- (session: SessionData, idToken: string | null): Promise<SessionData>
Parameters
- session: SessionData
- idToken: string | null
Returns Promise<SessionData>
+BeforeSessionSavedHook | @auth0/nextjs-auth0 - v4.9.0 Type Alias BeforeSessionSavedHook
Type declaration
- (session: SessionData, idToken: string | null): Promise<SessionData>
Parameters
- session: SessionData
- idToken: string | null
Returns Promise<SessionData>
diff --git a/docs/types/types.LogoutStrategy.html b/docs/types/types.LogoutStrategy.html
index 75b863775..2f0882b9b 100644
--- a/docs/types/types.LogoutStrategy.html
+++ b/docs/types/types.LogoutStrategy.html
@@ -1,2 +1,2 @@
-LogoutStrategy | @auth0/nextjs-auth0 - v4.8.0 Type Alias LogoutStrategy
LogoutStrategy: "auto" | "oidc" | "v2"Logout strategy options for controlling logout endpoint selection.
-
+LogoutStrategy | @auth0/nextjs-auth0 - v4.9.0 Type Alias LogoutStrategy
LogoutStrategy: "auto" | "oidc" | "v2"Logout strategy options for controlling logout endpoint selection.
+
diff --git a/docs/types/types.LogoutToken.html b/docs/types/types.LogoutToken.html
index ba9bf450e..4a499369a 100644
--- a/docs/types/types.LogoutToken.html
+++ b/docs/types/types.LogoutToken.html
@@ -1,3 +1,3 @@
-LogoutToken | @auth0/nextjs-auth0 - v4.8.0 Type Alias LogoutToken
diff --git a/docs/types/types.OnCallbackContext.html b/docs/types/types.OnCallbackContext.html
index af6b429a5..52bc3e37f 100644
--- a/docs/types/types.OnCallbackContext.html
+++ b/docs/types/types.OnCallbackContext.html
@@ -1,2 +1,2 @@
-OnCallbackContext | @auth0/nextjs-auth0 - v4.8.0
+OnCallbackContext | @auth0/nextjs-auth0 - v4.9.0
diff --git a/docs/types/types.OnCallbackHook.html b/docs/types/types.OnCallbackHook.html
index 4ad622d09..c3e763e5a 100644
--- a/docs/types/types.OnCallbackHook.html
+++ b/docs/types/types.OnCallbackHook.html
@@ -1 +1 @@
-OnCallbackHook | @auth0/nextjs-auth0 - v4.8.0 Type Alias OnCallbackHook
OnCallbackHook: (
error: SdkError | null,
ctx: OnCallbackContext,
session: SessionData | null,
) => Promise<NextResponse>Type declaration
- (
error: SdkError | null,
ctx: OnCallbackContext,
session: SessionData | null,
): Promise<NextResponse> Parameters
- error: SdkError | null
- ctx: OnCallbackContext
- session: SessionData | null
Returns Promise<NextResponse>
+OnCallbackHook | @auth0/nextjs-auth0 - v4.9.0 Type Alias OnCallbackHook
OnCallbackHook: (
error: SdkError | null,
ctx: OnCallbackContext,
session: SessionData | null,
) => Promise<NextResponse>Type declaration
- (
error: SdkError | null,
ctx: OnCallbackContext,
session: SessionData | null,
): Promise<NextResponse> Parameters
- error: SdkError | null
- ctx: OnCallbackContext
- session: SessionData | null
Returns Promise<NextResponse>
diff --git a/docs/types/types.PagesRouterRequest.html b/docs/types/types.PagesRouterRequest.html
index b19e08f29..a36bbceac 100644
--- a/docs/types/types.PagesRouterRequest.html
+++ b/docs/types/types.PagesRouterRequest.html
@@ -1 +1 @@
-PagesRouterRequest | @auth0/nextjs-auth0 - v4.8.0 Type Alias PagesRouterRequest
PagesRouterRequest: IncomingMessage | NextApiRequest
+PagesRouterRequest | @auth0/nextjs-auth0 - v4.9.0 Type Alias PagesRouterRequest
PagesRouterRequest: IncomingMessage | NextApiRequest
diff --git a/docs/types/types.PagesRouterResponse.html b/docs/types/types.PagesRouterResponse.html
index b5780a729..f0ff82438 100644
--- a/docs/types/types.PagesRouterResponse.html
+++ b/docs/types/types.PagesRouterResponse.html
@@ -1 +1 @@
-PagesRouterResponse | @auth0/nextjs-auth0 - v4.8.0 Type Alias PagesRouterResponse
PagesRouterResponse: ServerResponse<IncomingMessage> | NextApiResponse
+PagesRouterResponse | @auth0/nextjs-auth0 - v4.9.0 Type Alias PagesRouterResponse
PagesRouterResponse: ServerResponse<IncomingMessage> | NextApiResponse
diff --git a/docs/types/types.ReadonlyRequestCookies.html b/docs/types/types.ReadonlyRequestCookies.html
index b3ce1cea0..e920fd124 100644
--- a/docs/types/types.ReadonlyRequestCookies.html
+++ b/docs/types/types.ReadonlyRequestCookies.html
@@ -1 +1 @@
-ReadonlyRequestCookies | @auth0/nextjs-auth0 - v4.8.0 Type Alias ReadonlyRequestCookies
ReadonlyRequestCookies: Omit<RequestCookies, "set" | "clear" | "delete"> & Pick<
ResponseCookies,
"set"
| "delete",
>
+ReadonlyRequestCookies | @auth0/nextjs-auth0 - v4.9.0 Type Alias ReadonlyRequestCookies
ReadonlyRequestCookies: Omit<RequestCookies, "set" | "clear" | "delete"> & Pick<
ResponseCookies,
"set"
| "delete",
>
diff --git a/docs/types/types.RoutesOptions.html b/docs/types/types.RoutesOptions.html
index a9c3226b3..e35f2e3ba 100644
--- a/docs/types/types.RoutesOptions.html
+++ b/docs/types/types.RoutesOptions.html
@@ -1 +1 @@
-RoutesOptions | @auth0/nextjs-auth0 - v4.8.0 Type Alias RoutesOptions
+RoutesOptions | @auth0/nextjs-auth0 - v4.9.0 Type Alias RoutesOptions
diff --git a/docs/variables/client.withPageAuthRequired.html b/docs/variables/client.withPageAuthRequired.html
index abb7be418..5dd0a608e 100644
--- a/docs/variables/client.withPageAuthRequired.html
+++ b/docs/variables/client.withPageAuthRequired.html
@@ -1 +1 @@
-withPageAuthRequired | @auth0/nextjs-auth0 - v4.8.0 Variable withPageAuthRequiredConst
+withPageAuthRequired | @auth0/nextjs-auth0 - v4.9.0 Variable withPageAuthRequiredConst
diff --git a/docs/variables/server.DEFAULT_ID_TOKEN_CLAIMS.html b/docs/variables/server.DEFAULT_ID_TOKEN_CLAIMS.html
index 22aa5d30d..afc49fb66 100644
--- a/docs/variables/server.DEFAULT_ID_TOKEN_CLAIMS.html
+++ b/docs/variables/server.DEFAULT_ID_TOKEN_CLAIMS.html
@@ -1,2 +1,2 @@
-DEFAULT_ID_TOKEN_CLAIMS | @auth0/nextjs-auth0 - v4.8.0 Variable DEFAULT_ID_TOKEN_CLAIMSConst
DEFAULT_ID_TOKEN_CLAIMS: string[] = ...Default claims for the ID token.
-
+DEFAULT_ID_TOKEN_CLAIMS | @auth0/nextjs-auth0 - v4.9.0 Variable DEFAULT_ID_TOKEN_CLAIMSConst
DEFAULT_ID_TOKEN_CLAIMS: string[] = ...Default claims for the ID token.
+
diff --git a/package.json b/package.json
index 227a3f231..bcb5ae0c0 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@auth0/nextjs-auth0",
- "version": "4.8.0",
+ "version": "4.9.0",
"description": "Auth0 Next.js SDK",
"type": "module",
"scripts": {
Error class representing an access token for connection error. +
Class AccessTokenForConnectionError
Error class representing an access token for connection error. Extends the
-SdkErrorclass.Hierarchy (View Summary)
Index
Constructors
Hierarchy (View Summary)
Index
Constructors
Properties
Constructors
constructor
code: string,
message: string,
cause?: OAuth2Error,
): AccessTokenForConnectionError
Constructs a new
AccessTokenForConnectionErrorinstance.Parameters
The error code.
The error message.
Optionalcause: OAuth2ErrorThe OAuth2 cause of the error.
-Returns AccessTokenForConnectionError
Properties
Optionalcausecode
The error code associated with the access token error.
-Settings
On This Page
Constructors
Properties
Returns AccessTokenForConnectionError