Skip to content

Prisma MongoDB adapter: Argument expiresAt is missing when creating session #1812

Description

@kerstinSimoneM

Issue:

When using Lucia v2 (lucia@2.1.1) with @lucia-auth/adapter-prisma@3.0.2 and Prisma 5.x on MongoDB, session creation fails with:

Argument `expiresAt` is missing.

My Prisma schema:

model Session {
  id        String   @id @map("_id")
  userId    String
  expiresAt DateTime @map("expires")
  user      User     @relation("UserSessions", fields: [userId], references: [id])
  @@map("sessions")
}

The error occurs when Lucia tries to create a session. The session object passed to Prisma does not have expiresAt set, and patching the adapter to rename expires to expiresAt does not help, as the property is missing entirely.

What I tried:

  • Cleared all sessions from the DB
  • Regenerated Prisma client and pushed schema
  • Patched the adapter to rename expires to expiresAt
  • Confirmed only one version of the adapter is installed
  • Confirmed Prisma expects expiresAt in TypeScript

Expected behavior: Lucia should create a session with the correct expiry field for Prisma MongoDB.

Versions:

  • lucia: 2.1.1
  • @lucia-auth/adapter-prisma: 3.0.2
  • @prisma/client: 5.22.0
  • MongoDB

Additional context: This seems to be a mapping issue between what Lucia provides and what Prisma expects for MongoDB. Please advise if there’s a workaround or if this is a bug in the adapter.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions