This library is still in beta! While APIs have been relatively stable recently in preparation for v1.0, expect breaking changes.
Lucia is a simple and flexible user and session management library that provides an abstraction layer between your app and your database. It's bare-bones by design, keeping everything easy to use and understand. Get started by reading the introduction page.
Working with Lucia looks something like this. In the code below, you're creating a new user with a email/password method, creating a new session, and creating a cookie that you can set it to the user.
const user = await auth.createUser({
primaryKey: {
providerId: "email",
providerUserId: email,
password
},
attributes: {
email,
username
}
});
const session = await auth.createSession(user.userId);
const sessionCookie = auth.createSessionCookie(session);
npm i lucia-auth
pnpm add lucia-auth
yarn add lucia-auth
This project would not have been possible without our contributors, thank you!
Logo by @dawidmachon, licensed under CC BY-NC-SA 4.0.