Installation

Add Lucia to your project

bun add lucia @lucia-auth/adapter-prisma

Setup

I am using Lucia with Prisma as the database provider.

Create a lucia.ts file and add the following content

import { lucia } from "lucia";
import { prisma } from "@lucia-auth/adapter-prisma";
import { db } from "../db";
 
export const auth = lucia({ env: "DEV", adapter: prisma(db) });
 
export type Auth = typeof auth;
 

Add or update Prisma Schema

model User {
  id           String    @id @unique
 
  auth_session Session[]
  key          Key[]
}
 
model Session {
  id             String @id @unique
  user_id        String
  active_expires BigInt
  idle_expires   BigInt
  user           User   @relation(references: [id], fields: [user_id], onDelete: Cascade)
 
  @@index([user_id])
}
 
model Key {
  id              String  @id @unique
  hashed_password String?
  user_id         String
  user            User    @relation(references: [id], fields: [user_id], onDelete: Cascade)
 
  @@index([user_id])
}

Initialize database migrations using this command

bunx prisma migrate dev --name init