stackpicks.dev
Back to gallery
lucia-auth/lucia preview
lucia-auth
lucia-auth/

lucia

Authentication, simple and clean

Stars
10.5k
Forks
526
Watchers
10.5k
Open issues
23
0BSD main Updated 10 months ago~7 stars/day lifetime
Editor's take

Note: Lucia announced deprecation in 2024 — the maintainer is sunsetting it in favor of writing your own. Still useful as a learning reference for session-based auth patterns in TypeScript. Better Auth picks up where Lucia left off.

Use this if

You want to learn how session-based auth works from a clean codebase before building your own.

Skip if

You are picking auth for a new production app — use Better Auth or Auth.js instead.

Authentication
Topics
authoauthtypescript
Quick install
# Install via npm / pnpm / bun:
pnpm add lucia
# or
npm install lucia

Inferred from package · always double-check against the official README below.

README — rendered from lucia-auth/lucia

Lucia

Link: lucia-auth.com

Important

Lucia v3 will be deprecated by March 2025. Lucia is now a learning resource on implementing auth from scratch. See the announcement for details and migration path. The source code for v3 is available in the v3 branch.

Lucia is an open source project to provide resources on implementing authentication with JavaScript and TypeScript.

The main section is on implementing sessions with your database, library, and framework of choice. Using the API you just created, you can continue learning by going through the tutorials or by referencing one of the fully-fledged examples.

If you have any questions on auth, feel free to ask them in our Discord server or on GitHub Discussions!

Why not a library?

We've found it extremely hard to develop a library that:

  1. Supports the many database libraries, ORMs, frameworks, runtimes, and deployment options available in the ecosystem.
  2. Provides enough flexibility for the majority of use cases.
  3. Does not add significant complexity to projects.

We came to the conclusion that at least for the core of auth - sessions - it's better to teach the code and concepts rather than to try cramming it into a library. The code is very straightforward and shouldn't take more than 10 minutes to write it once you understand it. As an added bonus, it's fully customizable.

Related projects

  • The Copenhagen Book: A free online resource covering the various auth concepts in web applications.
  • Oslo: Simple, runtime agnostic, and fully-typed packages with minimal dependency for auth and cryptography.
  • Arctic: OAuth 2.0 client library with support for 50+ providers.

Disclaimer

All example code in the site is licensed under the Zero-Clause BSD license. You're free to use, copy, modify, and distribute it without any attribution. The license is approved by the Open Source Initiative (OSI) and Google.

Everything else this repository is licensed under the MIT license.

Copyright © 2024 pilcrow and contributors

Live data via GitHub REST API · Cached 30 min · Created 18 Jul 2022
lucia-auth/lucia — Live preview — StackPicks