Fix: Setting a very high Session Timeout causes instance to stop working (#27347)
* Limit session timeout amount to less than 1 million * Limit the max timeout to 100 years * Validate on BE too * Typo * Add comment to FE * Fix BE validation * Fix BE validation * Add BE test * Change FE validation to mirror BE validation * Add unit test for SessionTimeoutSetting * Refactor FE unit tests * Move comment * Add check for positive amount to BE validation * Add more BE tests * Refactor validate function * Remove cleanup() * Use ToBeInTheDocument instead * Use getByText * Remove conditional expect * Remove unused import * Refactor for clarity * Formatting * Validate session-timeout in getter too * Add docstring to check-session-timeout and make private * Change getter to print warning string instead of throw exception * Format import * i18n and use log/warn in getter, and throw 400 in setter * Reorder require * Use cam's suggestion Co-authored-by:Cam Saul <1455846+camsaul@users.noreply.github.com> Co-authored-by:
Cam Saul <1455846+camsaul@users.noreply.github.com>
Showing
- enterprise/frontend/src/metabase-enterprise/auth/components/SessionTimeoutSetting/SessionTimeoutSetting.tsx 17 additions, 8 deletions...omponents/SessionTimeoutSetting/SessionTimeoutSetting.tsx
- enterprise/frontend/src/metabase-enterprise/auth/components/SessionTimeoutSetting/SessionTimeoutSetting.unit.spec.tsx 51 additions, 0 deletions...SessionTimeoutSetting/SessionTimeoutSetting.unit.spec.tsx
- src/metabase/server/middleware/session.clj 36 additions, 5 deletionssrc/metabase/server/middleware/session.clj
- test/metabase/server/middleware/session_test.clj 53 additions, 3 deletionstest/metabase/server/middleware/session_test.clj
Please register or sign in to comment