-
-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: Parse Server option extendSessionOnUse
not working for session lengths < 24 hours
#9113
Conversation
Thanks for opening this pull request! |
Hello @mman, |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## alpha #9113 +/- ##
==========================================
+ Coverage 94.13% 94.15% +0.01%
==========================================
Files 186 186
Lines 14687 14726 +39
==========================================
+ Hits 13826 13865 +39
Misses 861 861 ☔ View full report in Codecov by Sentry. |
Thanks a lot @vivekjoshi556, I will take a look first thing next week, now OOO. |
Hey @mman. Just wanted to check if you got some time to look at the PR. |
@vivekjoshi556 The code looks nice and clean, the tests as well. Will try to deploy to my stage env later today. |
Signed-off-by: Manuel <5673677+mtrezza@users.noreply.github.com>
This fix just shifts the problem downwards from 24 hours to 1 minute. Because for a session length of <1 minute, the problem in #8981 persists. I wonder whether we need such a complex logic for this. If I understand #8981 (comment) correctly, the purpose of this logic is to find a middle ground between:
Wouldn't it be simpler to extend the session when the remaining session token validity time reached < 50% of the session length? For example:
Pros:
And could you please document this new behavior in the Parse Server option |
extendSessionOnUse
not working for session lengths < 24 hours
@vivekjoshi556 Just a friendly ping here; if you could simplify the logic and add the functionality description to the option docs (this repo, not the docs repo), then we could go ahead and merge. |
So sorry just got a bit swamped with work. Give me some time |
…documentation for shouldUpdateSessionExpiry
@mtrezza I have made the mentioned changes. Please let me know if anything else needs to be done. |
Signed-off-by: Manuel <5673677+mtrezza@users.noreply.github.com>
# [7.1.0-alpha.9](7.1.0-alpha.8...7.1.0-alpha.9) (2024-05-27) ### Bug Fixes * Parse Server option `extendSessionOnUse` not working for session lengths < 24 hours ([#9113](#9113)) ([0a054e6](0a054e6))
🎉 This change has been released in version 7.1.0-alpha.9 |
@vivekjoshi556 Excellent, very clean code, putting into production :) |
# [7.1.0-beta.1](7.0.0...7.1.0-beta.1) (2024-06-30) ### Bug Fixes * `Parse.Cloud.startJob` and `Parse.Push.send` not returning status ID when setting Parse Server option `directAccess: true` ([#8766](#8766)) ([5b0efb2](5b0efb2)) * `Required` option not handled correctly for special fields (File, GeoPoint, Polygon) on GraphQL API mutations ([#8915](#8915)) ([907ad42](907ad42)) * Facebook Limited Login not working due to incorrect domain in JWT validation ([#9122](#9122)) ([9d0bd2b](9d0bd2b)) * Live query throws error when constraint `notEqualTo` is set to `null` ([#8835](#8835)) ([11d3e48](11d3e48)) * Parse Server option `extendSessionOnUse` not working for session lengths < 24 hours ([#9113](#9113)) ([0a054e6](0a054e6)) * Rate limiting can fail when using Parse Server option `rateLimit.redisUrl` with clusters ([#8632](#8632)) ([c277739](c277739)) * SQL injection when using Parse Server with PostgreSQL; fixes security vulnerability [GHSA-c2hr-cqg6-8j6r](GHSA-c2hr-cqg6-8j6r) ([#9167](#9167)) ([2edf1e4](2edf1e4)) ### Features * Add `silent` log level for Cloud Code ([#8803](#8803)) ([5f81efb](5f81efb)) * Add server security check status `security.enableCheck` to Features Router ([#8679](#8679)) ([b07ec15](b07ec15)) * Prevent Parse Server start in case of unknown option in server configuration ([#8987](#8987)) ([8758e6a](8758e6a)) * Upgrade to @parse/push-adapter 6.0.0 ([#9066](#9066)) ([18bdbf8](18bdbf8)) * Upgrade to @parse/push-adapter 6.2.0 ([#9127](#9127)) ([ca20496](ca20496)) * Upgrade to Parse JS SDK 5.2.0 ([#9128](#9128)) ([665b8d5](665b8d5))
🎉 This change has been released in version 7.1.0-beta.1 |
# [7.1.0](7.0.0...7.1.0) (2024-06-30) ### Bug Fixes * `Parse.Cloud.startJob` and `Parse.Push.send` not returning status ID when setting Parse Server option `directAccess: true` ([#8766](#8766)) ([5b0efb2](5b0efb2)) * `Required` option not handled correctly for special fields (File, GeoPoint, Polygon) on GraphQL API mutations ([#8915](#8915)) ([907ad42](907ad42)) * Facebook Limited Login not working due to incorrect domain in JWT validation ([#9122](#9122)) ([9d0bd2b](9d0bd2b)) * Live query throws error when constraint `notEqualTo` is set to `null` ([#8835](#8835)) ([11d3e48](11d3e48)) * Parse Server option `extendSessionOnUse` not working for session lengths < 24 hours ([#9113](#9113)) ([0a054e6](0a054e6)) * Rate limiting can fail when using Parse Server option `rateLimit.redisUrl` with clusters ([#8632](#8632)) ([c277739](c277739)) * SQL injection when using Parse Server with PostgreSQL; fixes security vulnerability [GHSA-c2hr-cqg6-8j6r](GHSA-c2hr-cqg6-8j6r) ([#9167](#9167)) ([2edf1e4](2edf1e4)) ### Features * Add `silent` log level for Cloud Code ([#8803](#8803)) ([5f81efb](5f81efb)) * Add server security check status `security.enableCheck` to Features Router ([#8679](#8679)) ([b07ec15](b07ec15)) * Prevent Parse Server start in case of unknown option in server configuration ([#8987](#8987)) ([8758e6a](8758e6a)) * Upgrade to @parse/push-adapter 6.0.0 ([#9066](#9066)) ([18bdbf8](18bdbf8)) * Upgrade to @parse/push-adapter 6.2.0 ([#9127](#9127)) ([ca20496](ca20496)) * Upgrade to Parse JS SDK 5.2.0 ([#9128](#9128)) ([665b8d5](665b8d5))
🎉 This change has been released in version 7.1.0 |
Pull Request
This PR helps with dynamically extending session based on session Length.
Issue
Closes: #8981
Approach
I followed a similar approach to what @mman suggested here.
Tasks