@absolutejs/auth 0.26.0-beta.6 → 0.27.0-beta.0
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/dist/index.d.ts +1 -0
- package/dist/index.js +42 -1
- package/dist/index.js.map +5 -4
- package/dist/session/redisStore.d.ts +6 -0
- package/package.json +2 -1
package/dist/index.d.ts
CHANGED
|
@@ -8372,6 +8372,7 @@ export { AuthIdentityConflictError } from './errors';
|
|
|
8372
8372
|
export { sessionStore } from './session/state';
|
|
8373
8373
|
export { createInMemoryAuthSessionStore } from './session/inMemoryStore';
|
|
8374
8374
|
export { createNeonAuthSessionStore } from './session/neonStore';
|
|
8375
|
+
export { createRedisAuthSessionStore, type RedisSessionClient } from './session/redisStore';
|
|
8375
8376
|
export { createLinkedProviderCredentialResolver } from './linkedProviders/resolver';
|
|
8376
8377
|
export { createOAuthLinkedProviderCredentialResolver } from './linkedProviders/oauthResolver';
|
|
8377
8378
|
export { createNeonLinkedProviderStores, createNeonOAuthLinkedProviderCredentialResolver } from './linkedProviders/neonStores';
|
package/dist/index.js
CHANGED
|
@@ -16744,6 +16744,46 @@ var createNeonAuthSessionStore = (databaseUrl) => {
|
|
|
16744
16744
|
}
|
|
16745
16745
|
};
|
|
16746
16746
|
};
|
|
16747
|
+
// src/session/redisStore.ts
|
|
16748
|
+
var SESSION_SEGMENT = "sess:";
|
|
16749
|
+
var UNREGISTERED_SEGMENT = "unreg:";
|
|
16750
|
+
var parse = (raw) => {
|
|
16751
|
+
if (raw === null)
|
|
16752
|
+
return;
|
|
16753
|
+
try {
|
|
16754
|
+
return JSON.parse(raw);
|
|
16755
|
+
} catch {
|
|
16756
|
+
return;
|
|
16757
|
+
}
|
|
16758
|
+
};
|
|
16759
|
+
var createRedisAuthSessionStore = (redis, keyPrefix = "auth:session:") => {
|
|
16760
|
+
const sessionKey = (id) => `${keyPrefix}${SESSION_SEGMENT}${id}`;
|
|
16761
|
+
const unregisteredKey = (id) => `${keyPrefix}${UNREGISTERED_SEGMENT}${id}`;
|
|
16762
|
+
const ttlFor = (expiresAt) => Math.max(1, expiresAt - Date.now());
|
|
16763
|
+
const listIds = async (segment) => {
|
|
16764
|
+
const keys = await redis.keys(`${keyPrefix}${segment}*`);
|
|
16765
|
+
const offset = keyPrefix.length + segment.length;
|
|
16766
|
+
return keys.map((key) => key.slice(offset)).filter(isUserSessionId);
|
|
16767
|
+
};
|
|
16768
|
+
return {
|
|
16769
|
+
getSession: async (id) => parse(await redis.get(sessionKey(id))),
|
|
16770
|
+
getUnregisteredSession: async (id) => parse(await redis.get(unregisteredKey(id))),
|
|
16771
|
+
listSessionIds: () => listIds(SESSION_SEGMENT),
|
|
16772
|
+
listUnregisteredSessionIds: () => listIds(UNREGISTERED_SEGMENT),
|
|
16773
|
+
removeSession: async (id) => {
|
|
16774
|
+
await redis.del(sessionKey(id));
|
|
16775
|
+
},
|
|
16776
|
+
removeUnregisteredSession: async (id) => {
|
|
16777
|
+
await redis.del(unregisteredKey(id));
|
|
16778
|
+
},
|
|
16779
|
+
setSession: async (id, value) => {
|
|
16780
|
+
await redis.set(sessionKey(id), JSON.stringify(value), ttlFor(value.expiresAt));
|
|
16781
|
+
},
|
|
16782
|
+
setUnregisteredSession: async (id, value) => {
|
|
16783
|
+
await redis.set(unregisteredKey(id), JSON.stringify(value), ttlFor(value.expiresAt));
|
|
16784
|
+
}
|
|
16785
|
+
};
|
|
16786
|
+
};
|
|
16747
16787
|
// src/linkedProviders/resolver.ts
|
|
16748
16788
|
var uniqueStrings = (values) => [...new Set(values)];
|
|
16749
16789
|
var getEffectiveScopes = (grant, binding) => {
|
|
@@ -18795,6 +18835,7 @@ export {
|
|
|
18795
18835
|
createSecretCipher,
|
|
18796
18836
|
createScimToken,
|
|
18797
18837
|
createRedisLockoutStore,
|
|
18838
|
+
createRedisAuthSessionStore,
|
|
18798
18839
|
createPostgresWebAuthnCredentialStore,
|
|
18799
18840
|
createPostgresSsoConnectionStore,
|
|
18800
18841
|
createPostgresSetupSessionStore,
|
|
@@ -18883,5 +18924,5 @@ export {
|
|
|
18883
18924
|
AuthIdentityConflictError
|
|
18884
18925
|
};
|
|
18885
18926
|
|
|
18886
|
-
//# debugId=
|
|
18927
|
+
//# debugId=72DEEA52EDCE8E9A64756E2164756E21
|
|
18887
18928
|
//# sourceMappingURL=index.js.map
|