Giter Site home page Giter Site logo

Comments (3)

dougwilson avatar dougwilson commented on April 27, 2024

So the sig is just a hash of the data itself. Since the client controls all the data, it can always resend the data even after uou alter it from the server, because ultimately the client controls it. This is the downside of client side sessions.

You may want to consider using server side sessions instead, where the client cannot control what data is sent back, as that is ultimately the only way to you can expire a session based on an event instead of time: you have to have something stored on the server to know if that given session has been logged out or not.

I hope this helps explain the difference between client side and server side sessions.

I you know a way in which to implement this without any server side storage, you're welcome to open a pull request with an implementation. As far as I know, it is not possible to prevent what you described with client side sessions.

from cookie-session.

mshibl avatar mshibl commented on April 27, 2024

@dougwilson thank you for the explanation -- so if I understand correctly, for a given input the session and the session.sig will always be the same every-time it gets generated -- and there's no way for the server to know if this session is no longer valid

from cookie-session.

dougwilson avatar dougwilson commented on April 27, 2024

Yes, that is correct. You can always add a date time in your data you store which is the time you want to expire the session, but the session will then be valid until that time passes, so the log out scenario would still not work since you wouldn't know the exact date time the user will log out ahead of time.

from cookie-session.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.