Interfaces
These types can be imported from lucia.
import type { Adapter } from "lucia";
Adapter#
See Database adapter API.
Auth#
See Auth.
AuthRequest#
See AuthRequest.
Configuration#
See configuration.
Cookie#
type Cookie = {
name: string;
value: string;
attributes: CookieAttributes;
serialize: () => string;
};
Properties#
| property | type | description |
|---|---|---|
name | string | Cookie name |
value | string | Cookie value |
attributes | CookieAttributes | Cookie attributes |
type CookieAttributes = Partial<{
domain: string;
encode: (value: string) => string;
expires: Date;
httpOnly: boolean;
maxAge: number;
path: string;
priority: "low" | "medium" | "high";
sameSite: true | false | "lax" | "strict" | "none";
secure: boolean;
}>;
serialize()#
Serializes the cookie into a Set-Cookie HTTP response header value.
const serialize: () => string;
Env#
type Env = "DEV" | "PROD";
InitializeAdapter#
type InitializeAdapter<_Adapter> => (LuciaError: LuciaErrorConstructor) => _Adapter
Key#
type Key = {
userId: string;
providerId: string;
providerUserId: string;
passwordDefined: boolean;
};
Properties#
| name | type | description |
|---|---|---|
providerId | string | Provider id |
providerUserId | string | Provider user id |
userId | string | User id of linked user |
passwordDefined | boolean | true if holds a password |
KeySchema#
type KeySchema = {
id: string;
hashed_password: string | null;
user_id: string;
};
LuciaErrorConstructor#
Constructor for LuciaError.
const LuciaErrorConstructor: (message: string) => LuciaError;
LuciaRequest#
type LuciaRequest = {
method: string;
url: string;
headers: {
origin: string | null;
cookie: string | null;
authorization: string | null;
};
storedSessionCookie?: string | null;
};
Properties#
Optional property storedSessionCookie is for frameworks with APIs to directly read and set cookies.
| property | type | optional | description |
|---|---|---|---|
method | string | Request url (case insensitive) | |
url | string | Full request url (e.g. http://localhost:3000/pathname) | |
headers.origin | string | null | Origin header value | |
headers.cookie | string | null | Cookie header value | |
headers.authorization | string | null | Authorization header value | |
storedSessionCookie | string | null | ✓ | Session cookie value |
Middleware#
See Middleware API.
RequestContext#
See Middleware API.
Session#
type Session = {
user: User;
sessionId: string;
activePeriodExpiresAt: Date;
idlePeriodExpiresAt: Date;
state: "idle" | "active";
fresh: boolean;
} & ReturnType<_Configuration["getSessionAttributes"]>;
Properties#
ReturnType<_Configuration["getSessionAttributes"]> represents the return type of getSessionAttributes() configuration.
| name | type | description |
|---|---|---|
activePeriodExpiresAt | Date | Time of the active period expiration |
idlePeriodExpiresAt | Date | Time of the idle period expiration |
fresh | boolean | true if the session was newly created or reset |
sessionId | string | Session id |
state | "active" | "idle" | Session state |
user | User | User of the session |
SessionAdapter#
See Database adapter API.
SessionSchema#
type SessionSchema = {
id: string;
active_expires: number;
idle_expires: number;
user_id: string;
} & Lucia.DatabaseSessionAttributes;
User#
type User = {
userId: string;
} & ReturnType<_Configuration["getUserAttributes"]>;
Properties#
ReturnType<_Configuration["getUserAttributes"]> represents the return type of getUserAttributes() configuration.
| name | type | description |
|---|---|---|
userId | string | User id |
UserAdapter#
See Database adapter API.
UserSchema#
type UserSchema = {
id: string;
} & Lucia.DatabaseUserAttributes;