LogRocket Blog

A guide to cookies in Next.js

    thumbnail

    Guide to Cookies in Next.js

    Introduction

    In this guide, we will explore how to manage cookies in Next.js server and client components as well as in middleware. Cookies are small pieces of data that web applications place on users' computers to store stateful information and for tracking purposes.

    How to Get Cookies

    • To read incoming request cookie values in server components, we use the req.cookies method.
    • Use req.cookies to get all cookies matching a certain name.

    How to Set Cookies

    • Use the res.setCookie method to set new cookies.
    • Additional options can be passed in when setting a new cookie.
    • Cookie values can be modified in Server Actions or API routes.

    Deleting Cookies

    • Use the res.deleteCookie method to delete cookies.
    • Only use this method in Server Actions or API routes.

    Using Web APIs

    • Cookies can also be read from the request using traditional Web APIs in Route Handlers and API routes.

    Using Cookies in Authentication

    • Cookies can be used in authentication flows, where cookies are set when the user is registered.

    Using cookies-next Package

    • The cookies-next package can be used in various parts of a Next.js application, including Pages Router, App Router, client side, server side, and API routes.
    • Functions can be created for setting and removing cookies using the cookies-next package.

    Example with cookies-next Package

    • Example of setting cookies to indicate certain information's legitimacy on an API route.

    Conclusion

    Managing cookies in Next.js is essential for storing stateful information and for authentication purposes. By using the cookies-next package and traditional Web APIs, developers can effectively manage cookies in Next.js applications.