Skip to content
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

Gracefully Handle Session Secret Changes for Seamless User Experience #1869

Merged
merged 4 commits into from
May 14, 2024

Conversation

holgerkoser
Copy link
Member

@holgerkoser holgerkoser commented May 13, 2024

What this PR does / why we need it:
When the session sessionSecret is modified, existing authentication cookies become invalid. Consequently, users encounter an "Unexpected error :(" message, and all subsequent requests are aborted. To resolve this issue, users must manually delete cookies or navigate to /auth/logout to force a logout.

Which issue(s) this PR fixes:
Fixes #1866

Special notes for your reviewer:

Release note:

During session secret rotation, an unexpected error with code 500 could occur, requiring manual deletion of session cookies to resolve. This situation is now properly handled, and the user will be redirected to the login page accordingly.

@gardener-robot gardener-robot added needs/review Needs review size/s Size of pull request is small (see gardener-robot robot/bots/size.py) labels May 13, 2024
@gardener-robot-ci-1 gardener-robot-ci-1 added the reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) label May 13, 2024
@gardener-robot-ci-3 gardener-robot-ci-3 added needs/ok-to-test Needs approval for testing (check PR in detail before setting this label because PR is run on CI/CD) and removed reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) labels May 13, 2024
Copy link
Member

@petersutter petersutter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@gardener-robot gardener-robot added reviewed/lgtm Has approval for merging and removed needs/review Needs review labels May 14, 2024
@gardener-robot-ci-3 gardener-robot-ci-3 added the reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) label May 14, 2024
@gardener-robot-ci-1 gardener-robot-ci-1 removed the reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) label May 14, 2024
Copy link
Contributor

@grolu grolu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@holgerkoser
Copy link
Member Author

/help

@gardener-robot
Copy link

@holgerkoser Here my list of commands:

Man Page
Synopsis What & Who Description & Examples
/advise [QUESTION] Valid for
Issue
Permitted for
Member,
Author,
Commenter
Request advice (for the ticket or a specific question if provided) using generative pre-trained transformers (GPTs) such as OpenAI's GPT-4. Usage is granted solely on the condition that you acknowledge and accept its RISKS and our TERMS OF USE.
Examples:
- /advise
- /advise What are my options?
Synonyms: /advise, /advice, /adv
/assign [@user...] Valid for
Issue,
PullRequest
Permitted for
Maintainer,
Member,
Commenter
Assign given people (or yourself if none specified) to issue or PR. Commenters may only assign themselves. Labels can be used as well, which are subsituted with the registered reviewers for that label.
Examples:
- /assign
- /assign @johndoe @janedoe
- /assign platform/bare-metal
/unassign [@user...] Valid for
Issue,
PullRequest
Permitted for
Maintainer,
Member,
Commenter
Unassign given people (or yourself if none specified) from issue or PR. Commenters may only unassign themselves. Labels can be used as well, which are subsituted with the registered reviewers for that label.
Examples:
- /unassign
- /unassign @johndoe @janedoe
- /unassign platform/bare-metal
/cla Valid for
PullRequest
Permitted for
Anyone
Recheck Contributor License Agreement (CLA) for PR.
Examples:
- /cla
/diag Valid for
Issue
Permitted for
Member,
Author,
Commenter
Run diagnosis on cluster. Command must be invoked on a cluster or on an issue with a cluster dashboard link in the description and labeled with topology/shoot.
Examples:
- /diag
/discover [-f DATETIME] [-t DATETIME] [-v VARS] [-s CATEGORY] [QUESTION] Valid for
Issue
Permitted for
Member,
Author,
Commenter
Discover inspection or resolution options (for the ticket or a specific question if provided) from an expert-curated knowledge base using generative pre-trained transformers (GPTs) such as OpenAI's GPT-4. Usage is granted solely on the condition that you acknowledge and accept its RISKS and our TERMS OF USE.
Examples:
- /discover
- /discover What are my options?
Synonyms: /discover, /dis
/duplicate Valid for
Issue,
PullRequest
Permitted for
Maintainer,
Member,
Author
Mark issue or PR as duplicate of another one. The referenced issue/PR may be in the same repo (e.g. #123 or GH-123), on the same server (e.g. org/repo#123), or even on another server (e.g. https://server/org/repo/issues/123). Author, assignees, and code owners of the referenced issue/PR will be informed about this duplicate. Information will be redacted if this duplicate is private and the referenced one is public. An attempt to reference a private issue/PR from public will be rejected.
Examples:
- /duplicate
/handover [@user...] Valid for
Issue,
PullRequest
Permitted for
Anyone
Hand over issue or PR to someone or some team or the DODs
Examples:
- /handover @johndoe
- /handover platform/bare-metal
- /handover
/help Valid for
Issue,
PullRequest
Permitted for
Anyone
Get help on all available commands.
Examples:
- /help
Synonyms: /help, /hi, /hello, /hola, /hallo, /rtfm
/hotfix-trigger [landscape] Valid for
PullRequest
Permitted for
Member
Will trigger hotfix process for the designated landscape. It will trigger on merged PR only.
Examples:
- /hotfix-trigger staging
- /hotfix-trigger canary
- /hotfix-trigger live
/add label... Valid for
Issue,
PullRequest
Permitted for
Maintainer,
Member,
Author
Add label to issue or PR (default if no command is recognized). Authors may only add certain white-listed labels such as kind/*, priority/*, area/*, component/*, os/*, platform/*. The labels can be either fully qualified like kind/bug, just the identifier like bug, or starting with the category like kind followed by one or many identifiers in that category.
Examples:
- /add area/cost component/gardener
- /add cost gardener
- /add kind bug regression
- /area/cost component/gardener
- /cost gardener
- /kind bug regression
Synonyms: /add, /set, /label, /start, /begin
/rca-request Valid for
Issue,
PullRequest
Permitted for
Maintainer,
Member,
Author
Adds the kind/rca label
Examples:
- /rca-request
/remove label... Valid for
Issue,
PullRequest
Permitted for
Maintainer,
Member,
Author
Remove label from issue or PR. Authors may only remove certain white-listed labels such as kind/*, priority/*, area/*, component/*, os/*, platform/*. The labels can be either fully qualified like kind/bug, just the identifier like bug, or starting with the category like kind followed by one or many identifiers in that category.
Examples:
- /remove area/cost component/gardener
- /remove cost gardener
- /remove kind bug regression
Synonyms: /remove, /rem, /unset, /unlabel, /stop, /end, /del, /drop, /cancel
/lgtm Valid for
Issue,
PullRequest
Permitted for
Maintainer,
Member
Add reviewed/lgtm label to issue or PR (and remove conflicting labels).
Examples:
- /lgtm
/hold Valid for
Issue,
PullRequest
Permitted for
Maintainer,
Member,
Author
Add reviewed/do-not-merge label to issue or PR (and remove conflicting labels).
Examples:
- /hold
/unhold Valid for
Issue,
PullRequest
Permitted for
Maintainer,
Member,
Author
Remove reviewed/do-not-merge label from issue or PR.
Examples:
- /unhold
/close Valid for
Issue,
PullRequest
Permitted for
Maintainer,
Member,
Author,
Owner
Close issue or PR.
Examples:
- /close
/reopen Valid for
Issue,
PullRequest
Permitted for
Maintainer,
Member,
Author,
Owner
Reopen issue or PR.
Examples:
- /reopen
Synonyms: /reopen, /open
/touch Valid for
Issue,
PullRequest
Permitted for
Maintainer,
Member,
Author,
Owner
Remove lifecycle/icebox, stale, or rotten label from issue or PR. Authors may only remove the stale or rotten labels.
Examples:
- /touch
/plan milestone Valid for
Issue,
PullRequest
Permitted for
Maintainer,
Member
Set milestone for issue/PR.
Examples:
- /plan 2030-Q1
Synonyms: /plan, /schedule, /milestone
/unplan Valid for
Issue,
PullRequest
Permitted for
Maintainer,
Member
Unset milestone for issue.
Examples:
- /unplan
Synonyms: /unplan, /unschedule, /unmilestone
/no-autoclose Valid for
Issue
Permitted for
Anyone
The command will add label 'needs/keep-open' to ticket, and Gardener-Robot won't handle the auto-close when the cluster is no longer exist.
/ping [@user...] [msg] Valid for
Issue,
PullRequest
Permitted for
Anyone
Ping people (or the repo owner if none specified) with a message to take a look at issue or PR (like /honk in prow). Labels can be used as well, which are subsituted with the registered reviewers for that label.
Examples:
- /ping @johndoe @janedoe Have you checked?
- /ping platform/bare-metal Any Progress?
- /need-help area/networking Could you help on this?
- /honk @johndoe
Synonyms: /ping, /honk, /need-help
[/related `[[-e --exact-search] TERMS]`](https://github.tools.sap/kubernetes/gardener-robot/blob/master/robot/commands/related.py) Valid for
Issue
Permitted for
Member,
Author,
Commenter
/ready-for-review Valid for
PullRequest
Permitted for
Maintainer,
Member,
Author
Turn draft PR into ready for review PR.
Examples:
- /ready-for-review
Synonyms: /ready-for-review, /ready
/invite [@user...] Valid for
PullRequest
Permitted for
Maintainer,
Member,
Author,
Commenter
Request PR review from given people (or yourself if none specified) for PR. Commenters may only invite themselves. Labels can be used as well, which are subsituted with the registered reviewers for that label.
Examples:
- /invite
- /invite @johndoe @janedoe
- /invite platform/bare-metal
Synonyms: /invite, /review
/uninvite [@user...] Valid for
PullRequest
Permitted for
Maintainer,
Member,
Commenter
No longer request PR review from given people (or yourself if none specified) for PR. Commenters may only uninvite themselves. Labels can be used as well, which are subsituted with the registered reviewers for that label.
Examples:
- /uninvite
- /uninvite @johndoe @janedoe
- /uninvite platform/bare-metal
Synonyms: /uninvite, /unreview
[/summarize `[-w --words NUMBER] [INSTRUCTIONS]`](https://github.tools.sap/kubernetes/gardener-robot/blob/master/robot/commands/summarize.py) Valid for
Issue
Permitted for
Anyone
/title title Valid for
Issue,
PullRequest
Permitted for
Maintainer,
Member,
Author
Change title of issue or PR.
Examples:
- /title Add metrics endpoint
Synonyms: /title, /retitle

@holgerkoser holgerkoser merged commit a14d452 into master May 14, 2024
9 checks passed
@gardener-robot gardener-robot added the status/closed Issue is closed (either delivered or triaged) label May 14, 2024
@holgerkoser holgerkoser deleted the bug/fix-1866 branch May 14, 2024 14:44
holgerkoser added a commit that referenced this pull request May 14, 2024
* master:
  Some update message improvements (#1867)
  Update Yarn to v4.2.2 (#1853)
  Gracefully Handle Session Secret Changes for Seamless User Experience (#1869)
  Update dependency sass to v1.77.1 (#1865)
  Update actions/checkout action to v4.1.5 (#1860)
  Update dependency eslint-plugin-vue to v9.26.0 (#1861)
  Update dependency semver to v7.6.2 (#1863)
  Update the component name from `dashboard` to `gardener-dashboard` (#1857)
  Cherry picked fix for vuetify issue #19707 (#1868)

# Conflicts:
#	frontend/src/components/ShootAccessRestrictions/GAccessRestrictionChips.vue
#	frontend/src/components/ShootMessages/GShootMessages.vue
@grolu grolu added the area/ipcei IPCEI (Important Project of Common European Interest) label Jun 4, 2024
@grolu grolu mentioned this pull request Jun 4, 2024
49 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/ipcei IPCEI (Important Project of Common European Interest) needs/ok-to-test Needs approval for testing (check PR in detail before setting this label because PR is run on CI/CD) reviewed/lgtm Has approval for merging size/s Size of pull request is small (see gardener-robot robot/bots/size.py) status/closed Issue is closed (either delivered or triaged)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Gracefully Handle Session Secret Changes for Seamless User Experience
6 participants