[Feature] OIDC SSO 支持可选的身份提供方联合登出
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- go
- Ambito
- authentication
Direzione di ricerca
Start by tracing DELETE /api/v1/sessions and the OIDC discovery flow that obtains end_session_endpoint; the issue names these entry points but no source files or tests. Check how local logout clears the session and cookie, then identify where an optional setting can route the browser through the provider logout endpoint. Done means the setting defaults off, local logout still succeeds when provider logout is unavailable, and enabled behavior can be verified with an OIDC provider.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
请描述您的需求或者改进建议.
KubePi v2.0.3 使用 OpenID Connect 登录时,点击页面上的“退出”仅清除 KubePi 本地会话,没有触发 OIDC 身份提供方(IdP)的登出。若浏览器在 IdP 侧仍有会话,用户再次点击 SSO 登录会立即返回 KubePi,无需重新认证。这在共用浏览器或期望“退出后不能无感重新登录”的场景中容易造成误解。
复现步骤:
- 配置支持 OIDC Discovery 和
end_session_endpoint的 IdP(例如 Casdoor),通过 SSO 登录 KubePi。 - 在 KubePi 点击“退出”。
- 再次点击 SSO 登录;由于 IdP 会话仍在,浏览器会直接完成授权并重新进入 KubePi。
目前 DELETE /api/v1/sessions 只清除本地 session 中的 profile,前端退出后刷新页面;OIDC 流程没有使用 Discovery 中的 end_session_endpoint。
建议的通用做法
- 增加“退出时同时退出 OIDC 身份提供方”的可选配置,默认保持现有行为以兼容已有部署。
- 开启时先销毁 KubePi 本地会话并清理会话 Cookie,再通过浏览器跳转到 IdP 的
end_session_endpoint,按 IdP 支持情况传递client_id、已登记的post_logout_redirect_uri,必要时传递id_token_hint。回跳地址应固定或严格校验,避免开放重定向。 - 不要把 access token、refresh token 或 client secret 放入浏览器 URL 或日志。若 IdP 未提供登出端点或调用失败,KubePi 本地退出仍应成功,并清楚提示 IdP 会话可能仍在。
- 本地账号的退出保持原有行为。Token 撤销以及 IdP 主动发起的 back-channel logout 属于不同能力,可另行设计,不应把它们与浏览器端联合登出混为一谈。
期望可用 Casdoor/Keycloak 这类 IdP 验证:开启联合登出后,退出 KubePi 会同时结束当前 IdP 浏览器会话,再次进入 SSO 需要重新认证;关闭该选项时维持现有行为。
- Lingua principale
- Go
- Stelle
- 3k
- Fork
- 375
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di 1Panel-dev/KubePi
-
[Bug] 丢失节点端口Forse già presa @wanghe-fit2cloud l’ha presa 22 giorni fa. Aperta
1Panel-dev/KubePi#357 · 1 assegnatario ·
-
[Bug]WEB的 BUGForse di nuovo libera @wanghe-fit2cloud l’ha presa 44 giorni fa e non c’è nessuna pull request aperta. Aperta
1Panel-dev/KubePi#356 · 1 assegnatario ·
-
[Feature]深色和浅色主题同时需要Forse di nuovo libera @wanghe-fit2cloud l’ha presa 44 giorni fa e non c’è nessuna pull request aperta. Aperta
1Panel-dev/KubePi#355 · 1 assegnatario ·
Tutte le issue di 1Panel-dev/KubePi
Issue simili
-
Add SolentaAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
slavakurilyak/awesome-ai-agents#760 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
agent-review-finding bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
jordansmall/spindrift#5281 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
compiler-explorer/compiler-explorer#9272 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
github/github-mcp-server#3489 ·
I maintainer di solito rispondono entro 4 giorni