Skip to content
This repository was archived by the owner on Dec 12, 2023. It is now read-only.
This repository was archived by the owner on Dec 12, 2023. It is now read-only.

Is it by design that the session during the first server processing is not saved in storage? I'm guessing it's a bug. #89

@dogharrycatpotter

Description

@dogharrycatpotter

Ask your question

The following conditions occur:

・There is a cookie that holds the session ID set in the HTTP request.
・The session on the server no longer exists on the storage
・Initial server access

During server processing, event.context.session.user = { name: 'abc' } is set to the session, but it is not saved on the server's storage.

The results of debugging index.mjs are below.

export default eventHandler(async (event) => {
  console.log(`@sidebase/nuxt-session eventHandler start`);
  await ensureSession(event);
  event.res.on("finish", async () => {
    const session = await getSession(event);
    console.log(`@sidebase/nuxt-session eventHandler end session`, session); // $1
    if (!session) {
      return;
    }
    await setStorageSession(session.id, event.context.session);
  });
});

The $1 comment line above is output as null, so it seems that the storage is not saved.

const getCurrentSessionId = (event) => {
  const sessionIdRequest = parseCookies(event).sessionId;
  const sessionIdContext = event.context.sessionId;
  console.log(`@sidebase/nuxt-session getCurrentSessionId sessionIdRequest`, sessionIdRequest); // $2
  console.log(`@sidebase/nuxt-session getCurrentSessionId sessionIdContext`, sessionIdContext); // $3
  if (sessionIdContext && sessionIdRequest && sessionIdContext !== sessionIdRequest) {
    return null;
  }
  return sessionIdRequest || sessionIdContext || null;
};

When I debug the getSession function, I see that the getCurrentSessionId function returns null.

The output content of the $2,3 comment line above is as follows.

@sidebase/nuxt-session getCurrentSessionId sessionIdRequest k2XJZcDXmKxtoAzbJIIM0sNr9piseVF1
@sidebase/nuxt-session getCurrentSessionId sessionIdContext nIHE9cPHVNaFwLtonucpZn6ANWVOS8F2

The version I'm using is below.
"@sidebase/nuxt-session": "^0.2.7"

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions