proto.io 0.0.151 → 0.0.153

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.mjs CHANGED
@@ -1112,7 +1112,10 @@ const _session = (proto, request) => {
1112
1112
  const cached = sessionMap.get(request);
1113
1113
  if (cached)
1114
1114
  return cached;
1115
- sessionMap.set(request, { sessionId: randomUUID() });
1115
+ sessionMap.set(request, {
1116
+ sessionId: randomUUID(),
1117
+ createdAt: new Date,
1118
+ });
1116
1119
  const jwtToken = proto[PVK].options.jwtToken;
1117
1120
  if (_.isEmpty(jwtToken))
1118
1121
  throw Error('Invalid jwt token');
@@ -1131,8 +1134,9 @@ const _session = (proto, request) => {
1131
1134
  if (!_.isObject(payload))
1132
1135
  return;
1133
1136
  const session = {
1134
- sessionId: payload.sessionId ?? randomUUID(),
1135
1137
  ...payload,
1138
+ sessionId: payload.sessionId ?? randomUUID(),
1139
+ createdAt: payload.createdAt && _.isSafeInteger(payload.createdAt) ? new Date(payload.createdAt) : new Date,
1136
1140
  };
1137
1141
  sessionMap.set(request, session);
1138
1142
  return session;
@@ -1176,9 +1180,13 @@ const signUser = async (proto, res, user, options) => {
1176
1180
  if (_.isNil(proto[PVK].options.jwtToken))
1177
1181
  return;
1178
1182
  const session = _session(proto, res.req);
1179
- const sessionId = sessionMap.get(res.req)?.sessionId ?? session?.sessionId ?? randomUUID();
1180
1183
  const cookieOptions = options?.cookieOptions ?? session?.cookieOptions ?? proto[PVK].options.cookieOptions;
1181
- const token = proto[PVK].jwtSign({ sessionId, user: user?.objectId, cookieOptions }, options?.jwtSignOptions ?? 'login');
1184
+ const token = proto[PVK].jwtSign({
1185
+ sessionId: session?.sessionId ?? randomUUID(),
1186
+ createdAt: session?.createdAt?.getTime() ?? Date.now(),
1187
+ user: user?.objectId,
1188
+ cookieOptions,
1189
+ }, options?.jwtSignOptions ?? 'login');
1182
1190
  res.cookie(AUTH_COOKIE_KEY, token, cookieOptions);
1183
1191
  sessionInfoMap.set(res.req, user ? await fetchSessionInfo(proto, user.objectId) : {});
1184
1192
  };