Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]¶
Removed¶
AuthClient.getSessions()andGET /api/auth/sessions— not implemented on jadu-auth serverAuthClient.changePassword()anduseJaduAuth().changePassword—POST /api/auth/change-passwordnot implemented on jadu-auth server
Fixed¶
be/src/index.ts: wait for async error logging to flush before exiting onuncaughtException.useJaduAuth: preserve optimisticsetUser(cachedUser)for non-impersonation session restores while still keeping impersonation-safe cleanup.package/src/server/jaduAuth.ts: temporarily relax JWTauthAppIdenforcement (fall back to configuredappId) to unblock production token validation.
[0.1.0] - 2025-02-09¶
Added¶
- Initial release of
@scenarix/jadu-auth JaduAuthProvideranduseJaduAuthReact integrationAuthClientfor low-level auth API callscreateAuthenticatedAxioswith automatic token refreshJaduAuthserver SDK for JWT verification- Email verification, password reset, and forgot password flows
Fixed¶
- getMe response shape: Backend returns
{ data: { user: User } }; SDK now correctly extractsuserinstead of treating entiredataasUser - Error mapping: When backend omits
error.code, SDK now infers error type from HTTP status (400→VALIDATION_ERROR, 401→SESSION_EXPIRED, etc.) - EMAIL_NOT_VERIFIED: Added handling for backend
errorCode: 'EMAIL_NOT_VERIFIED'in error responses
Changed¶
- Replaced magic number
15 * 60 * 1000withDEFAULT_ACCESS_TOKEN_TTL_MSconstant - Unified debug log prefix to
[JaduAuth]across authClient and authenticatedAxios - Made
ApiErrorResponse.erroroptional to align with backend response shape - Added
appIdto provider init effect dependencies
Added (API)¶
changePassword(currentPassword, newPassword)onuseJaduAuthfor authenticated password changesVERSIONandSDK_NAMEexports from main package- Security note in TokenStorage JSDoc regarding localStorage and XSS
Removed¶
getAuthClientandinitAuthClient(unused singletons; usenew AuthClient(config)instead)