generateLuciaPasswordHash()#
Creates a new Lucia hash of a password. If you’re looking for a general hashing function, DO NOT use this API. The output hash is designed in a way to be compatible with older versions of Lucia. The sole purpose of this API is for interacting with Lucia keys stored in your database, and nothing else.
const generateLuciaPasswordHash: (password: string) => Promise<string>;
Parameters#
| name | type | description |
|---|
password | number | Password to hash |
Returns#
| type | description |
|---|
string | Hash |
generateRandomString()#
Generates a cryptographically random string. If argument for parameter alphabet is not provided, the result with consist of a-z0-9 (lowercase letters, numbers).
const generateRandomString: (length: number, alphabet?: string) => string;
Parameters#
| name | type | optional | description |
|---|
length | number | | Length string to generate |
alphabet | string | ✓ | String of characters to generate the string from ` |
Returns#
| type | description |
|---|
string | Randomly generated string |
isWithinExpiration()#
Checks with the current time is within the expiration time (in milliseconds UNIX time) provided.
const isWithinExpiration: (expiration: number) => boolean;
Parameters#
| name | type | description |
|---|
expiration | number | Expiration time in milliseconds (UNIX time) |
Returns#
| value | description |
|---|
true | Is within expiration |
false | Is expired |
joinAdapters()#
This is an experimental API and can change or be removed.
Joins multiple adapters into a single adapter, allowing you to override specific methods.
import { __experimental_joinAdapters } from "lucia/utils";
const joinAdapters: (
baseAdapter: InitializeAdapter<Adapter | SessionAdapter | UserAdapter>,
...adapters: Array<
Partial<Adapter> | InitializeAdapter<Adapter | SessionAdapter | UserAdapter>
>
) => Adapter;
Parameters#
| name | type |
|---|
baseAdapter | InitializeAdapter |
adapters | array |
Returns#
Usage#
import { lucia } from "lucia";
import { __experimental_joinAdapters as joinAdapters } from "lucia/utils";
import { betterSqlite3 } from "@lucia-auth/adapter-sqlite";
export const auth = lucia({
adapter: joinAdapters(betterSqlite3(), {
getUser: async (userId) => {
// ...
}
})
});
parseCookie()#
ESM and TypeScript friendly cookie.parse() from cookie.
serializeCookie()#
ESM and TypeScript friendly cookie.serialize() from cookie.
validateLuciaPasswordHash()#
Validates a password hash generated by Lucia.
const validateLuciaPasswordHash: (
password: string,
passwordHash: string
) => Promise<boolean>;
Parameters#
| name | type | description |
|---|
password | string | Password to compare against |
passwordHash | string | Hashed password to validate |
Returns#
| value | description |
|---|
true | Is valid |
false | Is invalid |