session icon indicating copy to clipboard operation
session copied to clipboard

Get session ID from header instead of cookie

Open Levyks opened this issue 1 year ago • 1 comments

Prerequisites

  • [x] I have written a descriptive issue title
  • [x] I have searched existing issues to ensure the feature has not already been requested

🚀 Feature Proposal

As the title say, a way to allow for other ways to retrieve the session id from the client (and also send it back), maybe not only with headers, but creating a interface that the user could implement any custom logic to it.

Motivation

I would like to use sessions to store data in my API, accessing it from places that are not a browser, where handling cookies are not as convenient as just a plain header

Example

app.register(fastifySession, {
  secret: 'a secret with minimum length of 32 characters',
  // Maybe you guys have a better name suggestion for this parameter
  sessionId: {
    retrieve(request, cookieOptions) {
      return request.headers['session-id'];
    },
    set(reply, sessionId, cookieOptions) {
      reply.headers('session-id', sessionId);
    }
  } 
});

Levyks avatar Jan 23 '25 18:01 Levyks

I've created a PR to test the concept, I'm not sure if idStore is the best suited name for it, but it works

Levyks avatar Jan 23 '25 20:01 Levyks