Skip to content

docs(oidc): zaufane domeny instytucjonalne i wiązanie istniejących kont - #33

Merged
mpasternak merged 1 commit into
mainfrom
docs/oidc-zaufane-domeny
Aug 13, 2026
Merged

docs(oidc): zaufane domeny instytucjonalne i wiązanie istniejących kont#33
mpasternak merged 1 commit into
mainfrom
docs/oidc-zaufane-domeny

Conversation

@mpasternak

Copy link
Copy Markdown
Member

Dokumentuje trzy przełączniki obrazu BPP, które operator ustawia w .env po
stronie bpp-deploy, a które nie były opisane nigdzie:

DJANGO_BPP_OIDC_GRACE_BIND=1
DJANGO_BPP_OIDC_TRUSTED_EMAIL_DOMAINS=uczelnia.edu.pl,student.uczelnia.edu.pl
DJANGO_BPP_OIDC_GRACE_BIND_PRIVILEGED=1

Wynik sesji diagnostycznej: użytkownik nie mógł wejść do BPP przez Keycloaka,
podejrzenie padło na WAF — a flow OIDC przechodził w całości (302 → 302 → 200,
zero 403). Winna była kolizja dwóch zmergowanych PR-ów w bpp, naprawiona
w iplweb/bpp#753.

Co gdzie trafiło (wg podziału z docs-sync)

docs/konfiguracja/architektura.md — sekcja operatorska: dlaczego BPP wiąże
tożsamość po (issuer, sub) a nie po e-mailu, dlaczego domyślna ścieżka „Połącz
konto z SSO" jest ślepa w instalacji czysto-SSO (wymaga hasła lokalnego),
dlaczego zaufanie bierze się z domeny a nie z email_verified (realm LDAP-owy
trzyma adres instytucjonalny w mail, a email_verified opisuje prywatny
email), tabela zmiennych, warianty z prefiksem skrótu uczelni.

Dwa ostrzeżenia, bo oba przypadki realnie kosztują:

  • lista domen jest jedyną bramką trybu uprzywilejowanego — przed włączeniem
    trzeba potwierdzić z IT, że użytkownik nie zmieni sobie adresu w katalogu;
  • nie wolno „naprawiać" kolizji czyszczeniem adresu e-mail — to tworzy drugie,
    puste konto i osierocą prawdziwe, z uprawnieniami i powiązanym Autorem.

CLAUDE.md — sam tripwire: reguła, objaw po którym agent rozpozna sytuację
(pełny flow bez 403 → WAF nie jest winny; komunikat z appservera; błąd AXES na
/oidc/callback/) i trzy anty-fixy. Dowody i detal zostają w docs/, zgodnie
z zasadą, że CLAUDE.md ładuje się w każdej sesji.

Weryfikacja

mkdocs build --strict — czysty, bez zerwanych linków i luk w nawigacji.

Zmiany wyłącznie dokumentacyjne — żadnego kodu, skryptów ani Compose.

🤖 Generated with Claude Code

https://claude.ai/code/session_0175jeAqUnobDP5rz1waUAow

Trzy przełączniki obrazu BPP ustawiane w .env po stronie bpp-deploy
(DJANGO_BPP_OIDC_GRACE_BIND, _TRUSTED_EMAIL_DOMAINS, _GRACE_BIND_PRIVILEGED)
nie były nigdzie opisane — operator nie miał skąd wiedzieć, że istnieją.

docs/konfiguracja/architektura.md dostaje sekcję operatorską: dlaczego BPP
wiąże po (issuer, sub) a nie po e-mailu, dlaczego ścieżka przez profil jest
ślepa w instalacji czysto-SSO (wymaga hasła lokalnego), dlaczego zaufanie
bierze się z domeny a nie z email_verified (realm LDAP-owy trzyma
instytucjonalny adres w `mail`, a email_verified opisuje prywatny `email`),
oraz dwa ostrzeżenia — lista domen jako jedyna bramka trybu uprzywilejowanego
i zakaz "naprawiania" kolizji przez czyszczenie adresu e-mail.

CLAUDE.md dostaje sam tripwire wg podziału z docs-sync: reguła, objaw po
którym agent rozpozna sytuację (pełny flow 302/302/200 bez 403 — WAF NIE jest
winny — plus komunikat z appservera i błąd AXES na /oidc/callback/) oraz trzy
anty-fixy. Dowody i detal zostają w docs/.

mkdocs build --strict czysty.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0175jeAqUnobDP5rz1waUAow
@mpasternak
mpasternak merged commit b9b4f25 into main Aug 13, 2026
6 checks passed
@mpasternak
mpasternak deleted the docs/oidc-zaufane-domeny branch August 13, 2026 06:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant