nextauth-slonik
TypeScript icon, indicating that this package has built-in type declarations

1.0.13 • Public • Published

🐘 NextAuth Slonik Adapter

A Slonik adapter for NextAuth. The heavy work for this project was done in this PR: https://github.com/nextauthjs/next-auth/pull/4933

Install

npm i nextauth-slonik
# or yarn
yarn add nextauth-slonik
# or pnpm
pnpm install nextauth-slonik

Usage

import NextAuth, { NextAuthOptions } from "next-auth";
import SlonikAdapter from "nextauth-slonik";
import { createPool } from "slonik";

// Enable top level await: https://stackoverflow.com/a/68339259
const pool = await createPool("postgres://");

export const auth: NextAuthOptions = {
  adapter: SlonikAdapter(pool),
  providers: [
    ...
  ],
};

export default NextAuth(auth);

Example Schema

create table if not exists verification_token (
  identifier text not null,
  expires timestamptz not null,
  token text not null,

  primary key (identifier, token)
);

create table if not exists accounts (
  id serial primary key,
  user_id integer not null,
  "type" varchar(255) not null,
  provider varchar(255) not null,
  provider_account_id varchar(255) not null,
  refresh_token text,
  access_token text,
  expires_at bigint,
  id_token text,
  scope text,
  session_state text,
  token_type text
);

create table if not exists sessions (
  id serial primary key,
  user_id integer not null,
  expires timestamptz not null,
  session_token varchar(255) not null
);

create table if not exists users (
  id serial primary key,
  name varchar(255),
  email varchar(255),
  email_verified timestamptz,
  image text
);

Package Sidebar

Install

npm i nextauth-slonik

Weekly Downloads

16

Version

1.0.13

License

MIT

Unpacked Size

18.6 kB

Total Files

9

Last publish

Collaborators

  • hexcowboy