authentication) w każdym podzie Ayakaleaf Pro. Nie ma ono zadania w tle ani osobnego poda. Skonfiguruj dostawcę tożsamości (IdP) zgodnie z Uwierzytelnianie SAML, a następnie umieść wartości i certyfikat IdP w Kubernetes, jak opisano poniżej.
Gdzie co działa
Konfiguracja
1
Zarejestruj Overleaf u dostawcy IdP
Przewodnik dla goauthentik pokazuje, gdzie się one znajdują.
2
Umieść certyfikat IdP w Secret overleaf-certs
Toolkit odczytuje certyfikat z Jeśli Secret już istnieje, dodaj do niego plik: usuń go i utwórz ponownie z każdym
data/overleaf/certs/. Na Kubernetes pochodzi on z Secret overleaf-certs, zamontowanego w /var/lib/overleaf/certs, jak opisano w Certyfikaty i inne pliki:--from-file albo użyj kubectl -n overleaf edit secret overleaf-certs.OVERLEAF_SAML_IDP_CERT przyjmuje ścieżkę lub — podczas wymiany certyfikatu — listę ścieżek w formacie JSON. Nie przyjmuje samego tekstu PEM.3
Dodaj ustawienia do ConfigMap
30-config.yaml (additions)
OVERLEAF_SAML_* jest wymienione w Zmienne środowiskowe. Wszystkie trafiają do ConfigMap: żadne z nich samo w sobie nie jest sekretem. Pliki kluczy (OVERLEAF_SAML_PRIVATE_KEY, OVERLEAF_SAML_DECRYPTION_PVK) trafiają do overleaf-certs, a ConfigMap przechowuje ich ścieżki.4
Zastosuj i zrestartuj
overleaf-certs również wymaga tego restartu.Kilka replik
IdP odsyła użytkownika na adres ACS URL za pomocą międzywitrynowego żądaniaPOST. Przeglądarki nie wysyłają z nim ciasteczek SameSite=Lax, więc żądanie nie zawiera ani ciasteczka sesji Overleaf, ani — w Chrome i Edge — ciasteczka sticky load balancera i może trafić do dowolnej repliki. Przy ustawieniach domyślnych nie ma to znaczenia: replika, która je odbierze, tworzy sesję w Redis, a load balancer od tej chwili kieruje użytkownika do niej.
Przetestowano na Kubernetes
Z goauthentik jako IdP (powiązanie HTTP-POST, podpisane asercje i odpowiedzi), na Kubernetes 1.37 z trzema replikami za HAProxy, nasze testy end-to-end dla SAML przechodzą pomyślnie (19 przypadków): pierwszy administrator z launchpada logujący się przez SAML, logowanie z certyfikatem IdP zoverleaf-certs, tworzenie konta i ponowne logowanie, mapowanie administratora według grupy i bez mapowania, aktualizacja imienia i flagi administratora przy każdym logowaniu, wylogowanie przez IdP, zasady haseł dla kont SAML oraz zawieszone konta. OVERLEAF_SAML_VALIDATE_IN_RESPONSE_TO pozostawiono z wartością domyślną.
Pytania i odpowiedzi
Logowanie przez SAML od razu pokazuje „Something went wrong”
Logowanie przez SAML od razu pokazuje „Something went wrong”
Odpowiedź: Strategia SAML nie została załadowana. Pod mimo to staje się gotowy, więc zajrzyj do logu web każdego poda:Typowe przyczyny:
OVERLEAF_SAML_IDP_CERT wskazuje na plik, którego nie ma w overleaf-certs, wartość logiczna inna niż "true" lub "false" albo nieprawidłowy JSON. Gdy EXTERNAL_AUTH wymienia kilka metod, taki błąd wyłącza także metody następujące po SAML (ldap, potem saml, potem oidc).Czy IdP musi mieć dostęp do Overleaf, czy Overleaf do IdP?
Czy IdP musi mieć dostęp do Overleaf, czy Overleaf do IdP?
Odpowiedź: Przy logowaniu i wylogowaniu ani jedno, ani drugie: IdP i Overleaf wymieniają komunikaty wyłącznie przez przeglądarkę użytkownika. Tylko jeśli skonfigurujesz IdP z adresem URL metadanych, pobiera on
${OVERLEAF_SITE_URL}/saml/meta.
