Skip to main content

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:

  1. Logowanie lokalne (login + hasło bezpośrednio w Arcane) — działa zawsze, niezależnie od Authentika
  2. 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)

  1. Otwórz https://arcane.t-pizza.pl
  2. Wpisz swój login (email) + lokalne hasło Arcane
  3. Kliknij Sign in
  4. 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.plMUSI 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:

  1. Otwierasz https://arcane.t-pizza.pl
  2. Klikasz Sign in with Authentik
  3. Authentik prosi o login/hasło → wpisujesz swoje dane z Authentika
  4. (Jeśli pierwszy raz logujesz się do Arcane przez SSO) Authentik pokaże ekran „Authorize" — kliknij Authorize
  5. 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-admin w Authentik (claim który Arcane mapuje na rolę admin)

Procedura dla admina Authentika

  1. Otwórz https://id.t-pizza.pl/if/admin/Directory → Users → Create
  2. Wypełnij:
    • Username: np. j.kowalski (część przed @)
    • Email: j.kowalski@telepizza.pl (pełny email)
    • Name: Jan Kowalski
    • Path: users
  3. Kliknij Create
  4. 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)
  5. Directory → Groups → arcane-admin → Users → Add existing user → wybierz j.kowalski → Add

Procedura dla nowego admina (Jan Kowalski)

  1. Sprawdź skrzynkę j.kowalski@telepizza.pl — jeśli admin Authentika wysłał link resetu hasła, kliknij go i ustaw swoje hasło
  2. Otwórz https://arcane.t-pizza.pl
  3. Kliknij Sign in with Authentik
  4. Authentik prosi o login/hasło → wpisz j.kowalski (lub j.kowalski@telepizza.pl) + hasło ustawione w kroku 1
  5. (Pierwszy raz) Kliknij Authorize na ekranie consent
  6. Wracasz do Arcane — konto zostało utworzone automatycznie (Arcane nie miał takiego usera, więc go utworzył przy pierwszym SSO login)
  7. 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)

Email 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 Email 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')
"