@vunexa/lixa 0.1.6-alpha.11 → 0.1.6-alpha.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/credentials/credentials-manager.d.ts +65 -0
- package/dist/credentials/credentials-manager.d.ts.map +1 -0
- package/dist/credentials/hasher.d.ts +88 -0
- package/dist/credentials/hasher.d.ts.map +1 -0
- package/dist/credentials/index.d.ts +6 -0
- package/dist/credentials/index.d.ts.map +1 -0
- package/dist/credentials/local-storage.d.ts +20 -0
- package/dist/credentials/local-storage.d.ts.map +1 -0
- package/dist/credentials/policy.d.ts +12 -0
- package/dist/credentials/policy.d.ts.map +1 -0
- package/dist/credentials/types.d.ts +314 -0
- package/dist/credentials/types.d.ts.map +1 -0
- package/dist/errors.d.ts +42 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/export-types/index.d.ts +651 -13
- package/dist/index.cjs +823 -109
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +635 -13
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +805 -96
- package/dist/index.js.map +1 -1
- package/dist/lixa.d.ts +59 -3
- package/dist/lixa.d.ts.map +1 -1
- package/dist/models/session.d.ts +8 -8
- package/dist/models/session.d.ts.map +1 -1
- package/dist/types.d.ts +16 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/lixa.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { type LixaConfig, type ProviderConfig } from "./types";
|
|
1
|
+
import { type LixaConfig, type ProviderConfig, type SignUpParams, type SignUpResult, type SignInParams, type SignInResult, type VerifyCredentialsParams, type ChangePasswordParams, type UserCredentials } from "./types";
|
|
2
2
|
import { IProvider } from "./providers";
|
|
3
3
|
import { type Session, type ConnectedResource } from "./models/session";
|
|
4
|
+
import { CredentialsManager } from "./credentials/credentials-manager";
|
|
4
5
|
/**
|
|
5
6
|
* Type representing the keys of configured providers
|
|
6
7
|
*/
|
|
@@ -65,6 +66,7 @@ declare class Lixa<TConfig extends LixaConfig<Record<string, ProviderConfig>> =
|
|
|
65
66
|
private localResourceHandler;
|
|
66
67
|
private userResourceStore;
|
|
67
68
|
private refreshMutexes;
|
|
69
|
+
private credentialsManager?;
|
|
68
70
|
private config;
|
|
69
71
|
private stateHandler;
|
|
70
72
|
private sessionHandler;
|
|
@@ -104,7 +106,7 @@ declare class Lixa<TConfig extends LixaConfig<Record<string, ProviderConfig>> =
|
|
|
104
106
|
* Structured logging with standardized format and custom logger support.
|
|
105
107
|
*
|
|
106
108
|
* @param level - Log level (INFO, WARN, ERROR, DEBUG)
|
|
107
|
-
* @param context - Context of the log (Init, Auth, Token, Session, State, AccountLinking, Resource)
|
|
109
|
+
* @param context - Context of the log (Init, Auth, Token, Session, State, AccountLinking, Resource, Credentials)
|
|
108
110
|
* @param message - Log message
|
|
109
111
|
* @param data - Optional data to log
|
|
110
112
|
*/
|
|
@@ -198,7 +200,9 @@ declare class Lixa<TConfig extends LixaConfig<Record<string, ProviderConfig>> =
|
|
|
198
200
|
*/
|
|
199
201
|
static createConfig<T extends Record<string, ProviderConfig>>(config: LixaConfig<T> & {
|
|
200
202
|
providers: T;
|
|
201
|
-
}): LixaConfig<T
|
|
203
|
+
}): LixaConfig<T> & {
|
|
204
|
+
providers: T;
|
|
205
|
+
};
|
|
202
206
|
/**
|
|
203
207
|
* Generates a cryptographically secure random state parameter for OAuth flows.
|
|
204
208
|
*
|
|
@@ -436,6 +440,58 @@ declare class Lixa<TConfig extends LixaConfig<Record<string, ProviderConfig>> =
|
|
|
436
440
|
*/
|
|
437
441
|
deleteSession(sessionId: string): Promise<void>;
|
|
438
442
|
private exchangeCodeForToken;
|
|
443
|
+
/**
|
|
444
|
+
* Checks if credentials (username and password) authentication is configured and enabled.
|
|
445
|
+
*
|
|
446
|
+
* @returns True if credentials authentication is available
|
|
447
|
+
*/
|
|
448
|
+
isCredentialsEnabled(): boolean;
|
|
449
|
+
/**
|
|
450
|
+
* Returns the underlying CredentialsManager instance if configured.
|
|
451
|
+
*/
|
|
452
|
+
getCredentialsManager(): CredentialsManager | undefined;
|
|
453
|
+
/**
|
|
454
|
+
* Registers a new user with username/email and password.
|
|
455
|
+
* Automatically enforces password policy, hashes password with Scrypt/configured hasher,
|
|
456
|
+
* stores credentials, and creates a session (unless autoCreateSessionOnSignUp is false).
|
|
457
|
+
*
|
|
458
|
+
* @param params - Registration parameters (identifier, password, email, username, metadata)
|
|
459
|
+
* @returns Created user (without password hash) and optional active session
|
|
460
|
+
* @throws WeakPasswordError if password does not meet policy requirements
|
|
461
|
+
* @throws UserAlreadyExistsError if identifier is already registered
|
|
462
|
+
* @throws CredentialsNotConfiguredError if credentials auth is not configured
|
|
463
|
+
*/
|
|
464
|
+
signUp(params: SignUpParams): Promise<SignUpResult>;
|
|
465
|
+
/**
|
|
466
|
+
* Authenticates a user with username/email and password.
|
|
467
|
+
* Performs constant-time verification with timing attack mitigation, and creates an active session.
|
|
468
|
+
* If account linking is configured with AUTO_LINK_BY_VERIFIED_EMAIL, merges with existing session.
|
|
469
|
+
*
|
|
470
|
+
* @param params - Sign-in parameters (identifier, password)
|
|
471
|
+
* @returns Authenticated user, session ID, and session object
|
|
472
|
+
* @throws InvalidCredentialsError if authentication fails
|
|
473
|
+
* @throws CredentialsNotConfiguredError if credentials auth is not configured
|
|
474
|
+
*/
|
|
475
|
+
signIn(params: SignInParams): Promise<SignInResult>;
|
|
476
|
+
/**
|
|
477
|
+
* Verifies username/email and password credentials without generating a session.
|
|
478
|
+
*
|
|
479
|
+
* @param params - Verification parameters (identifier, password)
|
|
480
|
+
* @returns User credentials (without password hash) or null if invalid
|
|
481
|
+
* @throws CredentialsNotConfiguredError if credentials auth is not configured
|
|
482
|
+
*/
|
|
483
|
+
verifyCredentials(params: VerifyCredentialsParams): Promise<Omit<UserCredentials, "passwordHash"> | null>;
|
|
484
|
+
/**
|
|
485
|
+
* Updates a user's password after verifying the current password and enforcing policy on the new password.
|
|
486
|
+
*
|
|
487
|
+
* @param params - Change password parameters (userId/identifier, oldPassword, newPassword)
|
|
488
|
+
* @returns True if password was updated successfully
|
|
489
|
+
* @throws UserNotFoundError if user is not found
|
|
490
|
+
* @throws InvalidCredentialsError if current password is incorrect
|
|
491
|
+
* @throws WeakPasswordError if new password does not meet policy requirements
|
|
492
|
+
* @throws CredentialsNotConfiguredError if credentials auth is not configured
|
|
493
|
+
*/
|
|
494
|
+
changePassword(params: ChangePasswordParams): Promise<boolean>;
|
|
439
495
|
private findProviderByType;
|
|
440
496
|
}
|
|
441
497
|
export { Lixa };
|
package/dist/lixa.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lixa.d.ts","sourceRoot":"","sources":["../src/lixa.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"lixa.d.ts","sourceRoot":"","sources":["../src/lixa.ts"],"names":[],"mappings":"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"}
|
package/dist/models/session.d.ts
CHANGED
|
@@ -103,31 +103,31 @@ export interface Session<TRaw = OAuthTokenResponse> {
|
|
|
103
103
|
/**
|
|
104
104
|
* Unique session ID generated by Lixa upon authentication.
|
|
105
105
|
*/
|
|
106
|
-
id?: string;
|
|
106
|
+
id?: string | undefined;
|
|
107
107
|
/**
|
|
108
108
|
* Linked identity provider accounts (AuthN) keyed by provider name.
|
|
109
109
|
* Single source of truth for all authenticated user SSO identities.
|
|
110
110
|
*/
|
|
111
|
-
accounts?: Record<string, LinkedAccount
|
|
111
|
+
accounts?: Record<string, LinkedAccount> | undefined;
|
|
112
112
|
/**
|
|
113
113
|
* Connected third-party resource provider tokens (AuthZ) keyed by provider name.
|
|
114
114
|
* Single source of truth for all post-login third-party API permissions.
|
|
115
115
|
*/
|
|
116
|
-
resources?: Record<string, ConnectedResource
|
|
116
|
+
resources?: Record<string, ConnectedResource> | undefined;
|
|
117
117
|
/** Unique unified user ID across linked accounts */
|
|
118
|
-
userId?: string;
|
|
118
|
+
userId?: string | undefined;
|
|
119
119
|
/** Primary user email */
|
|
120
|
-
email?: string;
|
|
120
|
+
email?: string | undefined;
|
|
121
121
|
/**
|
|
122
122
|
* Optional primary access token or custom session token identifier.
|
|
123
123
|
*/
|
|
124
|
-
token?: string;
|
|
124
|
+
token?: string | undefined;
|
|
125
125
|
/** Optional current active auth provider for this session turn */
|
|
126
|
-
provider?: string;
|
|
126
|
+
provider?: string | undefined;
|
|
127
127
|
/**
|
|
128
128
|
* Optional raw session token response data from provider.
|
|
129
129
|
*/
|
|
130
|
-
raw?: TRaw;
|
|
130
|
+
raw?: TRaw | undefined;
|
|
131
131
|
}
|
|
132
132
|
/**
|
|
133
133
|
* Provider metadata passed to session strategy.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/models/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACtD;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;IAEjB,oCAAoC;IACpC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEpC,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE3B,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAC;IAEpB,4CAA4C;IAC5C,GAAG,EAAE,kBAAkB,CAAC;IAExB,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,iEAAiE;IACjE,QAAQ,EAAE,MAAM,CAAC;IAEjB,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;IAEpB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAElC,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/B,0CAA0C;IAC1C,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB,4CAA4C;IAC5C,GAAG,EAAE,kBAAkB,CAAC;IAExB,iEAAiE;IACjE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,OAAO,CAAC,IAAI,GAAG,kBAAkB;IAChD;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/models/session.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { SessionHandler, SessionStorage, ResourceHandler, ResourceStorage, StateHandler, StateStorage, StateData } from "./dao/types";
|
|
2
2
|
import { ProviderMetadata } from "./models/session";
|
|
3
3
|
import { IProvider } from "./providers/IProvider";
|
|
4
|
+
import { UserCredentials, CredentialsStorage, IPasswordHasher, PasswordPolicyConfig, PasswordPolicyResult, CredentialsConfig, SignUpParams, SignUpResult, SignInParams, SignInResult, VerifyCredentialsParams, ChangePasswordParams } from "./credentials/types";
|
|
5
|
+
import { ScryptPasswordHasher, ScryptHasherOptions, Pbkdf2PasswordHasher, Pbkdf2HasherOptions } from "./credentials/hasher";
|
|
6
|
+
import { validatePasswordPolicy } from "./credentials/policy";
|
|
7
|
+
import { LocalCredentialsStorage } from "./credentials/local-storage";
|
|
8
|
+
import { CredentialsManager } from "./credentials/credentials-manager";
|
|
4
9
|
export { Session, ConnectedResource } from "./models/session";
|
|
5
10
|
export { ProviderMetadata };
|
|
6
11
|
export { OAuthTokenResponse } from "./models/session";
|
|
@@ -12,6 +17,11 @@ export { SessionStorage };
|
|
|
12
17
|
export { ResourceHandler };
|
|
13
18
|
export { ResourceStorage };
|
|
14
19
|
export { StateData };
|
|
20
|
+
export { UserCredentials, CredentialsStorage, IPasswordHasher, PasswordPolicyConfig, PasswordPolicyResult, CredentialsConfig, SignUpParams, SignUpResult, SignInParams, SignInResult, VerifyCredentialsParams, ChangePasswordParams, };
|
|
21
|
+
export { ScryptPasswordHasher, ScryptHasherOptions, Pbkdf2PasswordHasher, Pbkdf2HasherOptions };
|
|
22
|
+
export { validatePasswordPolicy };
|
|
23
|
+
export { LocalCredentialsStorage };
|
|
24
|
+
export { CredentialsManager };
|
|
15
25
|
/**
|
|
16
26
|
* Configuration for an OAuth provider instance.
|
|
17
27
|
*
|
|
@@ -185,7 +195,11 @@ export interface LixaConfig<TProviders extends Record<string, ProviderConfig> =
|
|
|
185
195
|
* Map of provider names to their configurations.
|
|
186
196
|
* Provider names will be available for autocomplete in getAuthUrl() and handleCallback().
|
|
187
197
|
*/
|
|
188
|
-
providers
|
|
198
|
+
providers?: TProviders;
|
|
199
|
+
/**
|
|
200
|
+
* Credentials (username and password) authentication configuration.
|
|
201
|
+
*/
|
|
202
|
+
credentials?: CredentialsConfig;
|
|
189
203
|
/**
|
|
190
204
|
* Account linking configuration for multi-SSO user linking.
|
|
191
205
|
*/
|
|
@@ -243,7 +257,7 @@ export type LogLevel = "INFO" | "WARN" | "ERROR" | "DEBUG";
|
|
|
243
257
|
* Log context for Lixa structured logging.
|
|
244
258
|
* @public
|
|
245
259
|
*/
|
|
246
|
-
export type LogContext = "Init" | "Auth" | "Token" | "Session" | "State" | "AccountLinking" | "Resource";
|
|
260
|
+
export type LogContext = "Init" | "Auth" | "Token" | "Session" | "State" | "AccountLinking" | "Resource" | "Credentials";
|
|
247
261
|
/**
|
|
248
262
|
* Custom logger interface for Lixa.
|
|
249
263
|
* @public
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACtI,OAAO,EAAW,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vunexa/lixa",
|
|
3
|
-
"version": "0.1.6-alpha.
|
|
3
|
+
"version": "0.1.6-alpha.13",
|
|
4
4
|
"description": "Lixa is a flexible, provider-agnostic OAuth and OpenID Connect (OIDC) client library that simplifies multi-provider authentication flows. It supports seamless integration with providers like Google and GitHub, offers extensible session management, and enables dynamic provider resolution based on callback URLs.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"oauth",
|