basicbar-auth 0.2.0: Session-Endpunkte im Paket, Admin-Gruppe entzieht nur Gruppenrechte, Session-Index - #16
Merged
Merged
Conversation
…ntzieht nur Gruppenrechte, Session-Index Aus dem Framework-Review: die vier Tools trugen identische whoami/logout/ set_language-Views und dieselbe URL-Verdrahtung. Jetzt im Paket: basicbar_auth.views (whoami_payload/whoami, logout_view, set_language), basicbar_auth.urls (OIDC-Routen inkl. SafeOIDCCallbackView aus abstimmbar, api/whoami/language/), AbstractBasicUser.language. OIDC_ADMIN_GROUP setzte is_staff/is_superuser bei jedem Login hart auf die Gruppenmitgliedschaft und nahm lokale Beförderungen still zurück; jetzt wird nur entzogen, was laut Claims-Snapshot des vorigen Logins aus der Gruppe kam. Back-Channel-Logout dekodierte jede unabgelaufene Session; neues Model UserSession (Login-/Logout-Signale, eigene Migration) macht die Löschung gezielt, der Scan bleibt Fallback für Sessions vor dem Upgrade. discover_endpoints loggt Fehler; filter_users_by_claims spart das exists() ohne Fallback. 54 Tests (25 neu). Gegen erkennbar geprüft (Suite grün, makemigrations --check leer). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This was referenced Oct 1, 2026
Merged
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Was
Vierter PR aus dem Framework-Review (nach Security #13, Template #14, ui #15): basicbar-auth 0.2.0, nur das Paket — die Template-Umstellung auf die neue API folgt nach dem Tag (die Template-CI installiert vom Tag).
Session-Endpunkte und Routen im Paket. ausleihbar, abstimmbar, erkennbar und modulierbar trugen identische
whoami/logout_view/set_language-Views und dieselbe URL-Verdrahtung. Jetzt:basicbar_auth.views(whoami_payload/whoami,logout_view,set_language) undbasicbar_auth.urls(logout-redirect, silent, backchannel-logout, callback, mozilla,api/whoami/language/;api/whoami/bleibt Tool-Sache, weil fast jedes Tool Felder ergänzt).AbstractBasicUserbekommtlanguage. DazuSafeOIDCCallbackViewaus abstimmbar (Browser-„Zurück“ nach dem Login → SPA statt 400-Seite), damit alle Tools den Fix haben.Admin-Gruppe entzieht nur, was sie verliehen hat.
OIDC_ADMIN_GROUPsetzte bisher bei jedem Loginis_staff/is_superuserhart auf die Gruppenmitgliedschaft — eine Beförderung in der Nutzerverwaltung des Tools wurde beim nächsten Login still zurückgenommen. Jetzt wird nur entzogen, wenn der Claims-Snapshot des vorigen Logins die Gruppe enthielt.is_oidc_adminbleibt konsistent dazu (Tool darf IdP-verwaltete Admins nicht lokal entziehen).Session-Index statt Komplett-Scan.
_delete_sessions_for_subjectdekodierte jede unabgelaufene Session — bei vielen anonymen Besucher-Sessions (abstimmbar-Teilnehmer) teuer pro SSO-Logout. Neues ModelUserSession, gepflegt peruser_logged_in/user_logged_out, eigene Migrationbasicbar_auth 0001(BigAutoField in der AppConfig gepinnt, Constraint-Name paket-präfixiert). Der Scan bleibt Fallback für Sessions aus der Zeit vor dem Upgrade.Außerdem:
discover_endpointsloggt Fehler (WARNING) und weist Nicht-Objekte ab;filter_users_by_claimsohne überflüssigesexists().Migration (CHANGELOG)
auth/v0.2.0,migrate.language-Feld inAbstractBasicUser-Erben streichen — Django erlaubt das Überschreiben abstrakter Felder, es kollidiert nichts (gegen erkennbar geprüft:checkgrün mit und ohne Feld,makemigrations --checkleer).include("basicbar_auth.urls")+ eigenesapi/whoami/mitwhoami_payload; lokale Kopien löschen.Verifiziert
makemigrations --checkgegen die handgeschriebene Migration leer.Danach
Tag
auth/v0.2.0nach dem Merge; dann ein PR mit Template (neue API, Pins ui 0.7.0 + auth 0.2.0, Discovery-Fail-fast) und die Konsumenten-PRs.🤖 Generated with Claude Code