Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lucia-auth/lucia

Authentication, simple and clean
https://github.com/lucia-auth/lucia

auth oauth typescript

Last synced: 3 days ago
JSON representation

Authentication, simple and clean

Awesome Lists containing this project

README

        

# Lucia

**Link: [lucia-auth.com](https://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](https://github.com/lucia-auth/lucia/discussions/1714) 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](https://discord.com/invite/PwrK3kpVR3) or on [GitHub Discussions](https://github.com/lucia-auth/lucia/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](https://thecopenhagenbook.com): A free online resource covering the various auth concepts in web applications.
- [Oslo](https://oslojs.dev): Simple, runtime agnostic, and fully-typed packages with minimal dependency for auth and cryptography.
- [Arctic](https://arcticjs.dev): 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](https://github.com/lucia-auth/lucia/blob/main/LICENSE-0BSD). You're free to use, copy, modify, and distribute it without any attribution. The license is approved by the [Open Source Initiative (OSI)](https://opensource.org/license/0bsd) and [Google](https://opensource.google/documentation/reference/patching#forbidden).

Everything else this repository is licensed under the [MIT license](https://github.com/lucia-auth/lucia/blob/main/LICENSE-MIT).

_Copyright © 2024 pilcrow and contributors_