Jak zalogować się do Arcane (przewodnik dla adminów)
Jak zalogować się do Arcane (przewodnik dla adminów)
Adres Arcane: https://arcane.t-pizza.pl Adres Authentika (SSO): https://id.t-pizza.pl
Masz dwa sposoby logowania:
- Logowanie lokalne (login + hasło bezpośrednio w Arcane) — działa zawsze, niezależnie od Authentika
- Logowanie przez Authentik (SSO/OIDC) — wygodniejsze, jedno konto dla wielu usług w przyszłości
Strona logowania pokazuje oba przyciski jednocześnie: zwykły formularz login/password + przycisk „Sign in with Authentik".
Scenariusz A: Istniejący admin (Twój login już jest w Arcane)
Dotyczy: admin-combo@t-pizza.pl, kamil.lendlewicz@telepizza.pl, matzxp84@gmail.com — kontá utworzone przed wdrożeniem SSO.
Wariant A1 — najprostszy: zaloguj się jak dawniej (lokalne hasło)
- Otwórz https://arcane.t-pizza.pl
- Wpisz swój login (email) + lokalne hasło Arcane
- Kliknij Sign in
- Gotowe — żaden Authentik nie jest potrzebny
To samo, co przed wdrożeniem SSO. Twoje hasło ani konto nie zostało zmienione.
Wariant A2 — przejdź na SSO (zalecane na przyszłość)
Wymaga: konta w Authentiku z tym samym emailem co konto w Arcane.
Krok 1 — admin Authentika (m.fleis) utworzy ci konto:
- Otwiera https://id.t-pizza.pl/if/admin/ → Directory → Users → Create
- Username:
kamil.lendlewicz(część przed@) - Email:
kamil.lendlewicz@telepizza.pl← MUSI być identyczny z emailem w Arcane (bez tego konta się nie skleją) - Name: imię i nazwisko
- Path:
users - Klika Create
- Następnie w detalach usera klika Set Password lub Email password reset link
- Dodaje cię do grupy
arcane-admin(Directory → Groups → arcane-admin → Members → Add)
Krok 2 — Ty się logujesz:
- Otwierasz https://arcane.t-pizza.pl
- Klikasz Sign in with Authentik
- Authentik prosi o login/hasło → wpisujesz swoje dane z Authentika
- (Jeśli pierwszy raz logujesz się do Arcane przez SSO) Authentik pokaże ekran „Authorize" — kliknij Authorize
- Wracasz do Arcane jako zalogowany admin
Co się stało pod spodem: Arcane dostał z Authentika twój email kamil.lendlewicz@telepizza.pl. Sprawdził lokalną bazę → znalazł istniejące konto z tym emailem → skleił konta (oidcMergeAccounts=true). Od tego momentu możesz logować się oboma sposobami — to ten sam user.
Co jeśli zapomniałem lokalnego hasła Arcane?
Arcane nie ma self-service password reset. Inny admin musi zresetować:
- Inny admin loguje się do Arcane → Settings → Users → znajdź usera → Reset password
- Albo: wszyscy adminowie z dostępem do VPS-a mogą zresetować via API (technical procedure dla zaufanych)
Alternatywa: jeśli admin Authentika utworzy ci konto z tym samym emailem, możesz zalogować się przez SSO (nie potrzebując lokalnego hasła) — następnie w Arcane → Profile → Set password ustaw nowe lokalne hasło.
Scenariusz B: Nowy admin (nikt go nie ma w Arcane)
Dotyczy: ktoś nowy w organizacji, kto nie ma jeszcze konta w Arcane.
Wymagania
- Konto w Authentik (zakłada admin Authentika, m.fleis)
- Członkostwo w grupie
arcane-adminw Authentik (claim który Arcane mapuje na rolę admin)
Procedura dla admina Authentika
- Otwórz https://id.t-pizza.pl/if/admin/ → Directory → Users → Create
- Wypełnij:
- Username: np.
j.kowalski(część przed@) - Email:
j.kowalski@telepizza.pl(pełny email) - Name: Jan Kowalski
- Path:
users
- Username: np.
- Kliknij Create
- W detalach świeżo utworzonego usera kliknij ⋮ → Set password (wpisz tymczasowe hasło i przekaż userowi przez bezpieczny kanał) LUB ⋮ → Email password reset link (system wyśle link na email — wymaga SMTP, mamy skonfigurowany)
- Directory → Groups →
arcane-admin→ Users → Add existing user → wybierzj.kowalski→ Add
Procedura dla nowego admina (Jan Kowalski)
- Sprawdź skrzynkę
j.kowalski@telepizza.pl— jeśli admin Authentika wysłał link resetu hasła, kliknij go i ustaw swoje hasło - Otwórz https://arcane.t-pizza.pl
- Kliknij Sign in with Authentik
- Authentik prosi o login/hasło → wpisz
j.kowalski(lubj.kowalski@telepizza.pl) + hasło ustawione w kroku 1 - (Pierwszy raz) Kliknij Authorize na ekranie consent
- Wracasz do Arcane — konto zostało utworzone automatycznie (Arcane nie miał takiego usera, więc go utworzył przy pierwszym SSO login)
- Sprawdź: w prawym górnym rogu Arcane powinieneś widzieć swój email + ikonkę admin
Od teraz logujesz się tylko przez SSO. Twoje hasło w Arcane nie istnieje (chyba że je sobie wyklikasz w Profile → Set password — to dodatkowe lokalne hasło dla scenariusza break-glass).
Co widać na stronie logowania
Strona https://arcane.t-pizza.pl (gdy nie jesteś zalogowany) wygląda tak:
┌────────────────────────────────────────────┐
│ Sign in to Arcane │
│ │
│ ┌──────────────────────────────────┐ │
│ │ Username or email │ │
│ └──────────────────────────────────┘ │
│ ┌──────────────────────────────────┐ │
│ │ Password │ │
│ └──────────────────────────────────┘ │
│ ┌──────────────────────────────────┐ │
│ │ Sign in │ │
│ └──────────────────────────────────┘ │
│ │
│ ───────────── OR ───────────── │
│ │
│ ┌──────────────────────────────────┐ │
│ │ Sign in with Authentik │ │
│ └──────────────────────────────────┘ │
└────────────────────────────────────────────┘
- Górna część — logowanie lokalne (login/hasło bezpośrednio w Arcane). Działa dla
admin-combo,kamil.lendlewicz,matzxp84. - Dolny przycisk — przekierowanie do Authentika. Po loginie w Authentiku wracasz tu zalogowany.
Mapowanie ról i dostęp do aplikacji
W Authentiku jest policy binding na aplikacji Arcane: tylko członkowie grupy arcane-admin widzą i mogą używać aplikacji. Jeśli ktoś zaloguje się do Authentika ale nie jest w arcane-admin, na ekranie consent dostanie błąd "permission denied" / "Application is not accessible to this user".
Wewnątrz Arcane: claim groups z ID tokenu mapuje się na rolę:
| Twoja grupa w Authentik | Co widzisz w Arcane (po SSO) |
|---|---|
arcane-admin |
admin (pełne uprawnienia, widzisz aplikację, możesz zarządzać kontenerami) |
| inna / żadna | dostęp odrzucony przez policy — nie zobaczysz aplikacji w Authentiku |
Wniosek: żeby ktoś mógł zalogować się do Arcane przez SSO, musi być w grupie arcane-admin w Authentiku. Nie ma „zwykłego usera SSO" — albo admin, albo nie wpuszczamy.
Dla istniejących adminów lokalnych (admin-combo, kamil.lendlewicz, matzxp84): ich rola admin jest zapisana lokalnie w Arcane — działa niezależnie od Authentika. Po sklejeniu kont (mergeAccounts) zachowują rolę admin.
FAQ
P: Co jeśli Authentik padnie / nie odpowiada? O: Strona logowania Arcane nadal pokazuje formularz lokalny — możesz zalogować się hasłem bezpośrednio w Arcane (jeśli masz lokalne konto). Authentik jest opcjonalną drogą, nie obowiązkową.
P: Mogę zalogować się raz przez SSO, a innym razem lokalnym hasłem? O: Tak, jeśli masz oba: konto w Authentiku i lokalne hasło w Arcane. Konta są sklejone, więc to ten sam user — ale możesz wybrać sposób logowania za każdym razem.
P: Czy SSO obejmuje też combo.t-pizza.pl?
O: Nie, na razie tylko Arcane. Combo-raport-app ma własny system użytkowników (lokalny). W przyszłości można dodać OIDC client do combo-raport-app i wpiąć tę samą aplikację w Authentiku.
P: Jak zmienić swoje hasło w Authentiku? O: https://id.t-pizza.pl/if/user/ → User settings (ikona w prawym górnym rogu) → Change password.
P: Jak zmienić swoje hasło lokalne w Arcane? O: Po zalogowaniu w Arcane → Profile (prawy górny róg) → Set/Change password. Tylko lokalnie — nie wpływa na Authentika.
P: Co znaczy „mergeAccounts" w praktyce? O: Authentik wysyła email do Arcane. Arcane szuka usera z tym emailem:
- Znalazł lokalnego → ten sam user, dodaje połączenie z OIDC (od teraz oba sposoby logowania).
- Nie znalazł → tworzy nowego usera (tylko OIDC, bez lokalnego hasła do czasu aż user sam je ustawi).
P: Jak admin Authentika może zobaczyć kto się zalogował? O: https://id.t-pizza.pl/if/admin/ → Events → wszystkie eventy login/logout/authorize.
P: Czy hasło z Authentika jest takie samo jak z Arcane? O: Nie. To dwa oddzielne hasła (chyba że celowo ustawisz takie same). Authentik trzyma swoje hasło w swojej bazie; Arcane trzyma swoje lokalne hasło osobno. SSO oznacza tylko że Arcane ufa Authentikowi że potwierdził tożsamość — nie wymienia haseł.
Lista obecnych userów (stan na 2026-05-28)
W Arcane (lokalni adminowie)
| Username | Rola | Konto w Authentik? | |
|---|---|---|---|
admin-combo@t-pizza.pl |
admin-combo@t-pizza.pl | admin | tak (utworzone 2026-05-28, gotowe do SSO) |
kamil.lendlewicz@telepizza.pl |
kamil.lendlewicz@telepizza.pl | admin | tak (utworzone 2026-05-28, gotowe do SSO) |
matzxp84@gmail.com |
matzxp84 | admin | tak (utworzone 2026-05-28, gotowe do SSO) |
m.fleis@czcyber.pl |
akadmin | admin | tak (zlane z Authentik akadmin, super-admin Authentika) |
W Authentik (wszyscy w grupie arcane-admin)
| Username | Grupy | Hasło startowe | |
|---|---|---|---|
akadmin |
m.fleis@czcyber.pl | authentik Admins, arcane-admin | ustawione wcześniej |
admin-combo |
admin-combo@t-pizza.pl | arcane-admin | wygenerowane, zapisane w ~/.secrets/authentik-users.env |
kamil.lendlewicz |
kamil.lendlewicz@telepizza.pl | arcane-admin | wygenerowane, zapisane w ~/.secrets/authentik-users.env |
matzxp84 |
matzxp84@gmail.com | arcane-admin | wygenerowane, zapisane w ~/.secrets/authentik-users.env |
Przy pierwszym logowaniu SSO: user wpisuje swoje hasło startowe w Authentiku → Arcane mergeAccounts wykrywa pasujący email → konto w Arcane staje się dostępne także przez SSO (lokalne hasło Arcane dalej działa równolegle).
Zalecane: każdy user po pierwszym loginie powinien zmienić hasło: https://id.t-pizza.pl/if/user/ → User settings → Change password.
Policy binding (kto widzi aplikację Arcane)
Aplikacja Arcane w Authentiku ma policy binding (pk=4a4d46af-..., enabled, order=0): wymaga członkostwa w grupie arcane-admin. Jeśli ktoś spoza tej grupy zaloguje się do Authentika i kliknie aplikację Arcane → dostanie błąd "permission denied".
To znaczy: żeby kogoś dopuścić do Arcane przez SSO, wystarczy dodać go do grupy arcane-admin w Authentiku (Directory → Groups → arcane-admin → Users → Add existing user). Nie trzeba nic robić po stronie Arcane — wszystko dzieje się przez claim groups w ID tokenie.
Dla adminów Authentika — quick reference
Utwórz usera: Directory → Users → Create
Dodaj do grupy: Directory → Groups → arcane-admin → Users → Add existing
Reset hasła: Directory → Users → wybierz usera → ⋮ → Set password / Email password reset link
Wyłącz usera: Directory → Users → wybierz usera → ⋮ → Set inactive (zostaje w bazie, ale nie może się logować)
Usuń usera: Directory → Users → wybierz usera → ⋮ → Delete (UWAGA: nieodwracalne)
Eventy login: Events → Logs (filtruj po username)
Sesje aktywne: Directory → Users → wybierz usera → tab "Sessions" → Revoke
Break-glass (jeśli akadmin zgubi hasło):
ssh root@212.132.103.157
docker exec authentik-worker ak shell -c "
from authentik.core.models import User
u = User.objects.get(username='akadmin')
u.set_password('NOWE-HASLO-TUTAJ')
u.save()
print('OK')
"