Noteworthy Placebo Mongers

    @next-auth/upstash-redis-adapter
    TypeScript icon, indicating that this package has built-in type declarations

    3.0.3 • Public • Published


        

    Upstash Redis Adapter - NextAuth.js

    Open Source. Full Stack. Own Your Data.

    CI Test Bundle Size @next-auth/upstash-adapter Version

    Overview

    This is the Upstash Redis adapter for next-auth. This package can only be used in conjunction with the primary next-auth and @upstash/redis packages. It is not a standalone package.

    Getting Started

    1. Install next-auth and @next-auth/upstash-redis-adapter as well as @upstash/redis via NPM.
    npm install next-auth @next-auth/upstash-redis-adapter @upstash/redis
    1. Add the follwing code to your pages/api/[...nextauth].js next-auth configuration object.
    import NextAuth from "next-auth"
    import { UpstashRedisAdapter } from "@next-auth/upstash-adapter"
    import { Redis } from "@upstash/redis"
    
    const redis = new Redis({
      url:"UPSTASH_REDIS_REST_URL", 
      token:"UPSTASH_REDIS_REST_TOKEN",
    })
    
    // For more information on each option (and a full list of options) go to
    // https://next-auth.js.org/configuration/options
    export default NextAuth({
      ...
      adapter: UpstashRedisAdapter(redis)
      ...
    })

    Using Multiple Apps with a Single Upstash Redis Instance

    The Upstash free-tier allows for only one Redis instance. If you have multiple Next-Auth connected apps using this instance, you need different key prefixes for every app.

    You can change the prefixes by passing an options object as the second argument to the adapter factory function.

    The default values for this object are:

    const defaultOptions = {
      baseKeyPrefix: "",
      accountKeyPrefix: "user:account:",
      accountByUserIdPrefix: "user:account:by-user-id:",
      emailKeyPrefix: "user:email:",
      sessionKeyPrefix: "user:session:",
      sessionByUserIdKeyPrefix: "user:session:by-user-id:",
      userKeyPrefix: "user:",
      verificationTokenKeyPrefix: "user:token:",
    }

    Usually changing the baseKeyPrefix should be enough for this scenario, but for more custom setups, you can also change the prefixes of every single key.

    Example:

    export default NextAuth({
      ...
      adapter: UpstashRedisAdapter(redis, {baseKeyPrefix: "app2:"})
      ...
    })

    Contributing

    We're open to all community contributions! If you'd like to contribute in any way, please read our Contributing Guide.

    License

    ISC

    Install

    npm i @next-auth/upstash-redis-adapter

    DownloadsWeekly Downloads

    323

    Version

    3.0.3

    License

    ISC

    Unpacked Size

    12.8 kB

    Total Files

    5

    Last publish

    Collaborators

    • thvu
    • ndom91
    • balazsorban
    • iaincollins