Betrieb · Kapitel 15
Anmelden mit authentik, Entra ID und zweitem Faktor.
nexcrate hat ein Konto, das des Betreibers, und meldet ab Werk mit Benutzername und Passwort an. Das reicht im Heimnetz. Wer schon einen Anmeldedienst betreibt, kann nexcrate daran hängen: authentik, Microsoft Entra ID, Keycloak, Authelia oder Pocket ID, mehrere gleichzeitig. Dieses Kapitel zeigt, wie du einen Anbieter einrichtest, dein Konto verknüpfst, das Passwort abschaltest und wie du wieder hineinkommst, wenn der Anbieter ausfällt. Alles hier ist freiwillig.
Wo was steht
- „Einstellungen › System › Anmeldung“ hat den Schalter „Anmeldung mit Passwort“, die „Öffentliche Adresse“, die Liste der „Anmeldeanbieter“ und die Karte „authentik in einem Schritt“.
- „Einstellungen › System › Konto“ hat „Anmeldeanbieter“ zum Verknüpfen, den „Zweiten Faktor“, „Passwort ändern“ und „Angemeldete Geräte“.
Zuerst die öffentliche Adresse
Ein Anbieter schickt den Browser nach der Anmeldung an eine Adresse von nexcrate zurück. Die ist die „Öffentliche Adresse“, also die, unter der du nexcrate im Browser erreichst, mit Unterpfad, wenn es einen gibt. nexcrate trägt nie eine Rückleitadresse ein, die es nur geraten hat. Hast du noch keine Adresse gesetzt, schlägt die Karte die vor, unter der du gerade in nexcrate bist. „Übernehmen und einrichten“ nimmt sie und richtet authentik gleich damit ein, „Nur übernehmen“ behält sie nur. Statt in der Oberfläche kannst du sie auch mit der Umgebungsvariable NEXCRATE_PUBLIC_URL setzen, sie gilt, solange die Oberfläche keine nennt. Läuft nexcrate hinter einem Proxy, siehe unten.
authentik in einem Schritt
- Ein Token in authentik anlegen
Lege in authentik ein API-Token an, das Anwendungen anlegen darf.
- Adresse und Token eintragen
Trage bei „authentik in einem Schritt“ unter „Adresse von authentik“ die Adresse und unter „API-Token“ das Token ein. Klicke „Einrichten“. Das kann bis zu 20 Sekunden dauern.
- Zusehen
nexcrate legt in authentik der Reihe nach an, was es braucht: den Schlüssel zum Signieren, die Zuordnungen für Name und Adresse, den Anbieter und die Anwendung. Dann füllt es seine eigenen Einstellungen aus und bindet die Anwendung an das Konto, dem das Token gehört. Damit lässt authentik nur dich hinein. Jeder Schritt steht in der Karte, und bei einem Fehler sagt sie, warum, etwa dass das Token nicht angenommen wurde.
Das Token braucht nexcrate nur für diese Einrichtung, es speichert es nicht. Willst du kein Token herausgeben, wähle „Stattdessen Blueprint herunterladen“, spiele den Blueprint in authentik ein und trage Client-ID und Geheimnis im Formular ein. Der Anbieter steht danach in der Liste mit „über authentik eingerichtet“ und bekommt einen Knopf auf der Anmeldeseite.
Andere Anbieter von Hand
Für Keycloak, Authelia, Pocket ID, Microsoft Entra ID und jeden anderen Anbieter, der OpenID Connect spricht, klicke „Anbieter hinzufügen“. Du trägst ein:
- „Name auf dem Knopf“ und „Kurzname“. Der Kurzname ist Teil der Rückleitadresse und lässt sich später nicht ändern.
- „Aussteller (Issuer)“, „Client-ID“ und „Client-Geheimnis“ aus deinem Anbieter.
- „Rückleitadresse für den Anbieter“ zeigt das Formular selbst. Sie hat die Form
/api/oidc/<Kurzname>/callbackhinter der öffentlichen Adresse, und die trägst du beim Anbieter ein. - „Der Anbieter prüft den zweiten Faktor selbst“ entscheidet, ob nexcrate nach der Anmeldung über diesen Anbieter noch nach seinem eigenen Code fragt.
So sieht der Aussteller bei authentik und bei Microsoft Entra ID aus. Für mehrere Entra-Mandanten gehen auch common und organizations. Entra nimmt als Rückleitadresse nur https an, außer für localhost, und schickt die Mailadresse nur als optionalen Claim email.
https://auth.example.com/application/o/<Slug>/
https://login.microsoftonline.com/MANDANTEN-ID/v2.0Dein Konto verknüpfen
- „Verknüpfen“ klicken
Öffne „Einstellungen › System › Konto“. Bei „Anmeldeanbieter“ steht jeder aktive Anbieter mit „Nicht verknüpft“. Klicke „Verknüpfen“.
- Das Passwort bestätigen
nexcrate fragt einmal nach dem Passwort von nexcrate. Das beweist, dass du es bist.
- Beim Anbieter anmelden
nexcrate schickt dich zum Anbieter. Dort meldest du dich an und landest zurück in den Einstellungen mit „Dein Konto ist jetzt mit … verknüpft“.
Je Anbieter öffnet nur diese eine Identität nexcrate, jede andere weist nexcrate ab, egal wie der Anbieter eingestellt ist. Es bleibt ein Konto, verknüpft mit so vielen Anbietern, wie du magst. nexcrate ordnet nie über die Mailadresse zu, sondern nur über die verknüpfte Identität. „Lösen“ hebt eine Verknüpfung auf. Die letzte bleibt bestehen, solange das Konto sich nur noch über diesen Anbieter anmeldet.
Das Passwort ausschalten und der Notschalter
Ist dein Konto mit einem aktiven Anbieter verknüpft, lässt sich „Anmeldung mit Passwort“ ausschalten. Vorher geht es nicht. Dann kommst du nur noch über einen Anbieter herein. Fällt der letzte Anbieter weg, öffnet sich die Anmeldung mit Passwort von selbst wieder. Ist ein Anbieter dagegen nur ausgefallen, etwa weil sein Server steht, hilft der Notschalter: Trage in der Compose-Datei NEXCRATE_PASSWORD_LOGIN=1 ein und starte nexcrate neu. Das öffnet das Passwort wieder, egal was der Schalter sagt, und die Seite weist darauf hin, solange es gesetzt ist. Danach nimmst du die Zeile wieder heraus. Ob das Passwort dann offen bleibt, entscheidet wieder der Schalter „Anmeldung mit Passwort“; schalte ihn ein, wenn du es behalten willst.
environment:
NEXCRATE_PASSWORD_LOGIN: "1"Der zweite Faktor
Unter „Einstellungen › System › Konto“ fragt „Zweiter Faktor“ nach dem Passwort zusätzlich nach einem Code aus einer Authenticator-App wie Aegis, 2FAS oder deinem Passwortmanager.
- Einschalten
Klicke „Einschalten“, scanne den QR-Code oder tippe den Schlüssel ein, gib das Passwort und einen Code aus der App ein und bestätige.
- Die Wiederherstellungscodes sichern
nexcrate zeigt acht Codes, die nur jetzt erscheinen. Jeder öffnet nexcrate genau einmal, falls das Handy fehlt. „Als Datei speichern“ legt sie ab, bewahre sie getrennt vom Handy auf.
Meldest du dich über einen Anbieter an, gilt dessen zweiter Faktor, solange „Der Anbieter prüft den zweiten Faktor selbst“ an ist. Das ist die Voreinstellung. Fehlen dir Handy und Codes, hilft nur der Server: docker exec -it nexcrate python -m app.cli reset-second-factor schaltet den zweiten Faktor aus. Ein vergessenes Passwort setzt docker exec -it nexcrate python -m app.cli reset-password zurück. Beide Befehle laufen auf dem Server, nicht im Browser.
Hinter einem Proxy
Beendet ein Reverse-Proxy das TLS, sieht nexcrate selbst nur http. Es glaubt dem Kopf X-Forwarded-Proto aber nur von den Adressen in FORWARDED_ALLOW_IPS, und die Liste ist ab Werk leer, also glaubt es niemandem. Dann entsteht die Rückleitadresse mit http, und der Anbieter nimmt sie meist nicht an. Trage die Adresse ein, von der dein Proxy verbindet, zum Beispiel das Gateway des Docker-Netzes. Ein Proxy auf demselben Rechner mit Host-Netz braucht 127.0.0.1. nexcrate nimmt den rechtesten Wert, den, den dein Proxy geschrieben hat. Die Karte warnt dich, wenn der Server ein anderes Schema sieht als dein Browser.
Ändert sich die öffentliche Adresse später, fragt nexcrate zuerst nach, wenn authentik oder ein von Hand eingetragener Anbieter die alte Rückleitadresse noch kennt. Bei authentik führst du danach „Einrichten“ noch einmal mit einem Token aus, bei den anderen trägst du die neue Adresse selbst ein.
Gut zu wissenVerknüpfe dein Konto und teste die Anmeldung über den Anbieter in einem zweiten Browserfenster, bevor du das Passwort ausschaltest. Dann weißt du, dass der Weg hinein funktioniert, und der Notschalter bleibt nur Sicherheit.