diff --git a/.version b/.version index dfe33e04..adaf2bf4 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -v4.5.1 \ No newline at end of file +v4.6.0 \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index b4ca73d2..75becbc8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,40 @@ # Change Log +## [v4.6.0](https://github.com/auth0/nextjs-auth0/tree/v4.6.0) (2025-05-21) +[Full Changelog](https://github.com/auth0/nextjs-auth0/compare/v4.5.1...v4.6.0) + +**Added** +- feature/conditionally update session handleAccessToken [\#2054](https://github.com/auth0/nextjs-auth0/pull/2054) ([tusharpandey13](https://github.com/tusharpandey13)) +- Add missing support for legacy chunked cookies [\#2071](https://github.com/auth0/nextjs-auth0/pull/2071) ([tusharpandey13](https://github.com/tusharpandey13)) + +**Changed** +- Update middleware combination example to prevent unintended backend execution [\#2076](https://github.com/auth0/nextjs-auth0/pull/2076) ([tusharpandey13](https://github.com/tusharpandey13)) +- Bump eslint-plugin-react from 7.37.4 to 7.37.5 [\#2091](https://github.com/auth0/nextjs-auth0/pull/2091) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Bump @playwright/test from 1.50.1 to 1.52.0 [\#2092](https://github.com/auth0/nextjs-auth0/pull/2092) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Bump @vitest/coverage-v8 from 2.1.4 to 2.1.9 [\#2093](https://github.com/auth0/nextjs-auth0/pull/2093) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Bump typescript-eslint from 8.32.0 to 8.32.1 [\#2094](https://github.com/auth0/nextjs-auth0/pull/2094) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Bump eslint-config-prettier from 10.0.1 to 10.1.5 [\#2090](https://github.com/auth0/nextjs-auth0/pull/2090) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Bump oauth4webapi from 3.1.4 to 3.5.1 [\#2085](https://github.com/auth0/nextjs-auth0/pull/2085) ([dependabot[bot]](https://github.com/apps/dependabot)) +- chore(deps): bump @eslint/plugin-kit from 0.2.2 to 0.2.7 in /examples/with-shadcn [\#1995](https://github.com/auth0/nextjs-auth0/pull/1995) ([dependabot[bot]](https://github.com/apps/dependabot)) +- build(deps): bump jose from 5.9.6 to 5.10.0 [\#1956](https://github.com/auth0/nextjs-auth0/pull/1956) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Bump codecov/codecov-action from 5.3.1 to 5.4.2 [\#2058](https://github.com/auth0/nextjs-auth0/pull/2058) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Bump swr from 2.3.2 to 2.3.3 [\#2086](https://github.com/auth0/nextjs-auth0/pull/2086) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Bump typescript-eslint from 8.24.0 to 8.32.0 [\#2084](https://github.com/auth0/nextjs-auth0/pull/2084) ([dependabot[bot]](https://github.com/apps/dependabot)) +- chore(deps): bump next from 15.0.2 to 15.2.3 in /examples/with-shadcn [\#1986](https://github.com/auth0/nextjs-auth0/pull/1986) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Bump next from 15.0.3 to 15.2.4 in /examples/with-next-intl [\#2029](https://github.com/auth0/nextjs-auth0/pull/2029) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Update deleteByLogoutToken arg type in EXAMPLES.md [\#2067](https://github.com/auth0/nextjs-auth0/pull/2067) ([ammubhave](https://github.com/ammubhave)) +- Bump @auth0/nextjs-auth0 from 4.0.1 to 4.5.1 in /examples/with-shadcn [\#2073](https://github.com/auth0/nextjs-auth0/pull/2073) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Bump @eslint/js from 9.20.0 to 9.26.0 [\#2078](https://github.com/auth0/nextjs-auth0/pull/2078) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Bump vite from 5.4.14 to 5.4.19 [\#2075](https://github.com/auth0/nextjs-auth0/pull/2075) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Bump typedoc from 0.27.7 to 0.28.4 [\#2079](https://github.com/auth0/nextjs-auth0/pull/2079) ([dependabot[bot]](https://github.com/apps/dependabot)) +- chore(deps-dev): bump globals from 15.14.0 to 15.15.0 [\#1969](https://github.com/auth0/nextjs-auth0/pull/1969) ([dependabot[bot]](https://github.com/apps/dependabot)) +- chore(deps-dev): bump prettier from 3.4.2 to 3.5.3 [\#1967](https://github.com/auth0/nextjs-auth0/pull/1967) ([dependabot[bot]](https://github.com/apps/dependabot)) + +**Fixed** +- Usability upgrades to V4 Migration Guide [\#2095](https://github.com/auth0/nextjs-auth0/pull/2095) ([nandan-bhat](https://github.com/nandan-bhat)) +- Bugfix: Add clockTolerance to cookie decryption [\#2097](https://github.com/auth0/nextjs-auth0/pull/2097) ([tusharpandey13](https://github.com/tusharpandey13)) +- Fix stacking transaction cookies [\#2077](https://github.com/auth0/nextjs-auth0/pull/2077) ([tusharpandey13](https://github.com/tusharpandey13)) + ## [v4.5.1](https://github.com/auth0/nextjs-auth0/tree/v4.5.1) (2025-04-29) [Full Changelog](https://github.com/auth0/nextjs-auth0/compare/v4.5.0...v4.5.1) diff --git a/docs/assets/highlight.css b/docs/assets/highlight.css index 74b09726..a7a49da0 100644 --- a/docs/assets/highlight.css +++ b/docs/assets/highlight.css @@ -15,10 +15,10 @@ --dark-hl-6: #C586C0; --light-hl-7: #001080; --dark-hl-7: #9CDCFE; - --light-hl-8: #267F99; - --dark-hl-8: #4EC9B0; - --light-hl-9: #008000; - --dark-hl-9: #6A9955; + --light-hl-8: #008000; + --dark-hl-8: #6A9955; + --light-hl-9: #267F99; + --dark-hl-9: #4EC9B0; --light-hl-10: #800000; --dark-hl-10: #808080; --light-hl-11: #800000; diff --git a/docs/assets/search.js b/docs/assets/search.js index 95ebdeff..916cb439 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 fcfd2497..1198812e 100644 --- a/docs/classes/errors.AccessTokenError.html +++ b/docs/classes/errors.AccessTokenError.html @@ -1,3 +1,3 @@ -
Optional
message: stringOptional
message: stringOptional
message: stringOptional
message: stringOptional
message: stringOptional
message: stringOptional
message: stringOptional
message: 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.
Abstract
Abstract
Optional
message: stringOptional
message: stringAbstract
Abstract
calculateMaxAge calculates the max age of the session based on createdAt and the rolling and absolute durations.
-Abstract
deleteepoch returns the time since unix epoch in seconds.
-Abstract
getAbstract
setsave 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.
+Abstract
deleteepoch returns the time since unix epoch in seconds.
+Abstract
getAbstract
setsave 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.
Optional
isNew: booleanOptional
isNew: booleanOptional
options: GetAccessTokenOptionsOptional configuration for getting the access token.
+Optional
options: 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.
Optional
options: 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.
-Exchanges a refresh token for an access token for a connection.
+Exchanges 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
@@ -19,6 +19,6 @@
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.
Optional
forceRefresh: booleanTransactionStore 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.
+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.
+The Auth0 Next.js SDK is a library for implementing user authentication in Next.js applications.
Create a middleware.ts
file in the root of your project's directory:
import type { NextRequest } from "next/server"
import { auth0 } from "./lib/auth0"
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).*)",
],
}
+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).*)",
],
}
Note
If you're using a src/
directory, the middleware.ts
file must be created inside the src/
directory.
You can now begin to authenticate your users by redirecting them to your application's /auth/login
route:
-import { auth0 } from "@/lib/auth0"
export default async function Home() {
const session = await auth0.getSession()
if (!session) {
return (
<main>
<a href="/auth/login?screen_hint=signup">Sign up</a>
<a href="/auth/login">Log in</a>
</main>
)
}
return (
<main>
<h1>Welcome, {session.user.name}!</h1>
</main>
)
}
+import { auth0 } from "./lib/auth0" // Adjust path if your auth0 client is elsewhere
export default async function Home() {
const session = await auth0.getSession()
if (!session) {
return (
<main>
<a href="/auth/login?screen_hint=signup">Sign up</a>
<a href="/auth/login">Log in</a>
</main>
)
}
return (
<main>
<h1>Welcome, {session.user.name}!</h1>
</main>
)
}
Important
@@ -207,4 +207,4 @@
This project is licensed under the MIT license. See the LICENSE file for more info.
-
Options for retrieving a connection access token.
-Options for retrieving a connection access token.
+Optional
login_An optional login hint to pass to the authorization server.
+Optional
allowAllow 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
.
Optional
appThe URL of your application (e.g.: http://localhost:3000
).
Optional
appThe 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.
Optional
authorizationAdditional parameters to send to the /authorize
endpoint.
Optional
beforeA method to manipulate the session before persisting it.
+Optional
authorizationAdditional parameters to send to the /authorize
endpoint.
Optional
beforeA method to manipulate the session before persisting it.
See beforeSessionSaved for additional details
-Optional
clientThe algorithm used to sign the client assertion JWT. +
Optional
clientThe 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.
Optional
clientPrivate key for use with private_key_jwt
clients.
+
Optional
clientPrivate key for use with private_key_jwt
clients.
This should be a string that is the contents of a PEM file or a CryptoKey.
Optional
clientThe Auth0 client ID.
+Optional
clientThe Auth0 client ID.
If it's not specified, it will be loaded from the AUTH0_CLIENT_ID
environment variable.
Optional
clientThe Auth0 client secret.
+Optional
clientThe Auth0 client secret.
If it's not specified, it will be loaded from the AUTH0_CLIENT_SECRET
environment variable.
Optional
domainThe Auth0 domain for the tenant (e.g.: example.us.auth0.com
).
Optional
domainThe 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.
Optional
enableBoolean value to enable the /auth/access-token
endpoint for use in the client app.
Optional
enableBoolean 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.
-Optional
enableBoolean value to opt-out of sending the library name and version to your authorization server +
Optional
enableBoolean value to opt-out of sending the library name and version to your authorization server
via the Auth0-Client
header. Defaults to true
.
Optional
httpInteger value for the HTTP timeout in milliseconds for authentication requests. +
Optional
httpInteger value for the HTTP timeout in milliseconds for authentication requests.
Defaults to 5000
ms.
Optional
onA method to handle errors or manage redirects after attempting to authenticate.
+Optional
onA method to handle errors or manage redirects after attempting to authenticate.
See onCallback for additional details
-Optional
pushedIf enabled, the SDK will use the Pushed Authorization Requests (PAR) protocol when communicating with the authorization server.
-Optional
routesConfigure the paths for the authentication routes.
+Optional
pushedIf enabled, the SDK will use the Pushed Authorization Requests (PAR) protocol when communicating with the authorization server.
+Optional
routesConfigure the paths for the authentication routes.
See Custom routes for additional details.
-Optional
secretA 32-byte, hex-encoded secret used for encrypting cookies.
+Optional
secretA 32-byte, hex-encoded secret used for encrypting cookies.
If it's not specified, it will be loaded from the AUTH0_SECRET
environment variable.
Optional
sessionConfigure the session timeouts and whether to use rolling sessions or not.
+Optional
sessionConfigure the session timeouts and whether to use rolling sessions or not.
See Session configuration for additional details.
-Optional
sessionA custom session store implementation used to persist sessions to a data store.
+Optional
sessionA custom session store implementation used to persist sessions to a data store.
See Database sessions for additional details.
-Optional
signThe path to redirect the user to after successfully authenticating. Defaults to /
.
Optional
transactionConfigure the transaction cookie used to store the state of the authentication transaction.
-Optional
signThe path to redirect the user to after successfully authenticating. Defaults to /
.
Optional
transactionConfigure the transaction cookie used to store the state of the authentication transaction.
+Optional
allowOptional
authorizationOptional
beforeOptional
clientOptional
clientOptional
clientOptional
enableOptional
enableOptional
fetchOptional
allowOptional
authorizationOptional
beforeOptional
clientOptional
clientOptional
clientOptional
enableOptional
enableOptional
fetchOptional
init: RequestInitOptional
init: RequestInitOptional
httpOptional
jwksOptional
onOptional
pushedOptional
routesOptional
signOptional
init: RequestInitOptional
httpOptional
jwksOptional
onOptional
pushedOptional
routesOptional
signAdditional authorization parameters.
-Additional authorization parameters.
+Optional
audienceThe unique identifier of the target API you want to access.
-Optional
max_The maximum amount of time, in seconds, after which a user must reauthenticate.
-Optional
redirect_The URL to which the authorization server will redirect the user after granting authorization.
-Optional
scopeThe scope of the access request, expressed as a list of space-delimited, case-sensitive strings. +
Optional
max_The maximum amount of time, in seconds, after which a user must reauthenticate.
+Optional
redirect_The URL to which the authorization server will redirect the user after granting authorization.
+Optional
scopeThe scope of the access request, expressed as a list of space-delimited, case-sensitive strings.
Defaults to "openid profile email offline_access"
.
Optional
absoluteThe 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.
-Optional
cookieThe options for the session cookie.
-Optional
inactivityThe duration of inactivity after which the session will expire. The value must be specified in seconds.
+Optional
cookieThe options for the session cookie.
+Optional
inactivityThe 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.
-Optional
rollingA boolean indicating whether rolling sessions should be used or not.
+Optional
rollingA 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
.
Optional
domainSpecifies 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.
-Optional
nameThe name of the session cookie.
+Optional
nameThe name of the session cookie.
Default: __session
.
Optional
pathThe path attribute of the session cookie. Will be set to '/' by default.
-Optional
sameThe sameSite attribute of the session cookie.
+Optional
pathThe path attribute of the session cookie. Will be set to '/' by default.
+Optional
sameThe sameSite attribute of the session cookie.
Default: lax
.
Optional
secureThe secure attribute of the session cookie.
+Optional
secureThe 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
.
Optional
transientThe transient attribute of the session cookie. When true, the cookie will not persist beyond the current session.
-Optional
transientThe transient attribute of the session cookie. When true, the cookie will not persist beyond the current session.
+Destroys the session with the given session ID.
-Optional
deleteDeletes the session with the given logout token which may contain a session ID or a user ID, or both.
-Gets the session from the store given a session ID.
-Upsert a session in the store given a session ID and SessionData
.
Optional
deleteDeletes the session with the given logout token which may contain a session ID or a user ID, or both.
+Gets the session from the store given a session ID.
+Upsert a session in the store given a session ID and SessionData
.
Optional
absoluteThe 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.
-Optional
cookieThe options for the session cookie.
-Optional
cookieOptional
inactivityThe duration of inactivity after which the session will expire. The value must be specified in seconds.
+Optional
cookieThe options for the session cookie.
+Optional
cookieOptional
inactivityThe 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.
-Optional
rollingA boolean indicating whether rolling sessions should be used or not.
+Optional
rollingA 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
.
Optional
storeOptional
storeOptional
returnThe URL to redirect to after a successful login.
+Optional
pathThe path attribute of the transaction cookie. Will be set to '/' by default.
-Optional
prefixThe prefix of the cookie used to store the transaction state.
+Optional
prefixThe prefix of the cookie used to store the transaction state.
Default: __txn_{state}
.
Optional
sameThe sameSite attribute of the transaction cookie.
+Optional
sameThe sameSite attribute of the transaction cookie.
Default: lax
.
Optional
secureThe secure attribute of the transaction cookie.
+Optional
secureThe 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
.
Any other JWT Claim Set member.
-Any other JWT Claim Set member.
+
Error class representing an access token for connection error. +
- Preparing search index...
- The search index is not available
@auth0/nextjs-auth0 - v4.6.0Class AccessTokenForConnectionError
Error class representing an access token for connection error. Extends the
-SdkError
class.Hierarchy (View Summary)
Index
Constructors
Hierarchy (View Summary)
Index
Constructors
Properties
Constructors
constructor
code: string,
message: string,
cause?: OAuth2Error,
): AccessTokenForConnectionError
Constructs a new
AccessTokenForConnectionError
instance.Parameters
The error code.
The error message.
Optional
cause: OAuth2ErrorThe OAuth2 cause of the error.
-Returns AccessTokenForConnectionError
Properties
Optional
causecode
The error code associated with the access token error.
-Settings
On This Page
Constructors
Properties
Returns AccessTokenForConnectionError