Zum Inhalt
NEXVIEW

Betrieb · Kapitel 12

Anmeldung und OpenID Connect.

Es gibt drei Wege hinein: das Passwort, das Konto des Medienservers und ein Anmeldedienst, den du ohnehin betreibst. Nexview kann alle drei gleichzeitig, und ein neuer Weg nimmt von selbst keinen alten weg. Jeder führt in dasselbe Konto. Rolle, Kontingent, Freigaben und Verlauf hängen am Nexview-Konto, nicht am Weg hinein.

Was auf der Anmeldeseite steht

Ab Werk gibt es genau ein Feld für „Benutzername oder E-Mail“ und eines für „Passwort“. Alles Weitere erscheint erst, wenn du es einrichtest. Ist ein Medienserver verbunden, kommt ein Knopf „Mit Plex anmelden“ dazu (oder Jellyfin, Emby). Sind Anmeldedienste eingetragen, kommt je Anbieter ein Knopf „Mit … anmelden“ dazu, mit dem Namen, den du vergeben hast.

Mit Passwort

Das Passwort braucht mindestens vier Zeichen. Wer vom Netz aus erreichbar ist, nimmt besser ein langes. Die Anmeldung mit Passwort verlangt eine bestätigte E-Mail-Adresse. Fehlt die Bestätigung, zeigt die Seite „Adresse noch nicht bestätigt“ und bietet „Bestätigungsmail erneut senden“ und „Adresse korrigieren“ an. „Passwort vergessen?“ schickt einen Link, dafür braucht es den Mailserver. Der Besitzer der Installation kommt auch mit einer noch unbestätigten Adresse herein.

Nach einigen falschen Passwörtern bremst Nexview den nächsten Versuch, nach zehn schließt es die Tür für fünfzehn Minuten. Sie öffnet sich von selbst wieder. Das gilt für die Anmeldung, die Anmeldung mit einem Medienserver-Passwort und die Links aus Mails. Gezählt wird immer je Konto. Wer zusätzlich nach Adresse zählen will, stellt NEXVIEW_CLIENT_IP ein, siehe Hinter einem Proxy.

Mit dem Konto des Medienservers

Plex, Jellyfin und Emby funktionieren alle drei, auch gleichzeitig. Wer das Konto dort schon hat, muss es in Nexview nicht ein zweites Mal anlegen. Zugeordnet wird nur zu einer Adresse, die in Nexview bestätigt oder vom Betreiber gesetzt ist, eine vom Anbieter übernommene zählt nicht. Das Kapitel Medienserver verbinden beschreibt es.

Mit einem Anmeldedienst

OpenID Connect ist ein Standard, deshalb gibt es keine Liste unterstützter Anbieter. Aus Nexviews Sicht ist ein Anbieter ein Aussteller, eine Client-ID und ein Geheimnis. Ob dahinter authentik, Microsoft Entra ID, Keycloak, Authelia, Pocket ID, Zitadel oder Google steckt, macht keinen Unterschied. Mehrere Anbieter gleichzeitig gehen, jeder bekommt einen Knopf auf der Anmeldeseite, in einer Reihenfolge, die du ziehst. Alles liegt unter „Einstellungen › System › Anmeldung“ in drei Karten:

  1. Anmeldung

    Ob man sich weiter mit Passwort anmelden darf („Anmeldung mit Passwort“), und die „Öffentliche Adresse“.

  2. Anmeldeanbieter

    Die Liste in der Reihenfolge der Knöpfe, mit „Anbieter hinzufügen“, „Bearbeiten“ und „Entfernen“.

  3. authentik in einem Schritt

    Richtet Anbieter und Anwendung in authentik für dich ein.

Zuerst die öffentliche Adresse

Ein Anbieter lehnt jede Rückleitadresse ab, die nicht exakt so bei ihm hinterlegt ist. Nexview baut sie aus deiner öffentlichen Adresse und zeigt sie bei „Rückleitadresse für den Anbieter“ fertig zum Kopieren an:

Rückleitadresse
https://nexview.example.com/api/oidc/<kurzname>/callback

Läuft Nexview unter einem Unterpfad, gehört er mit hinein. Ändert sich die öffentliche Adresse später, fragt Nexview zuerst nach, wenn ein Anbieter die alte Rückleitadresse noch kennt. Hinter einem Proxy, der TLS beendet, muss Nexview dem Proxy das Schema glauben, sonst beginnt die Adresse mit http. Das steht im Kapitel Hinter einem Proxy.

Einen Anbieter von Hand eintragen

FeldWas hinein gehört
Name auf dem KnopfWas der Knopf sagt, etwa „Mit Firmen-Login anmelden“.
KurznameTeil der Rückleitadresse, a bis z, Ziffern und Bindestriche. Er lässt sich nach dem Speichern nicht mehr ändern.
Aussteller (Issuer)Die Basisadresse des Anbieters. Nexview liest /.well-known/openid-configuration selbst und prüft es, bevor etwas gespeichert wird. Einzelne Endpunkte trägst du nie ein. Ein Schrägstrich am Ende macht keinen Unterschied.
Client-ID, Client-GeheimnisBeides entsteht, wenn du Nexview beim Anbieter anmeldest. Ein gespeichertes Geheimnis verlässt den Server nie, ein leeres Feld beim Bearbeiten behält es.
AktivAus verschwindet der Knopf, und der Anbieter lässt niemanden herein. Die Verknüpfungen bleiben.
Neue Personen bekommen ein KontoAb Werk aus. Aus: Nur Eingeladene und Konten, die sich selbst verknüpft haben, kommen herein. An: Wer beim Anbieter ein Konto hat, bekommt hier eines als gewöhnlicher Benutzer, dessen Anfragen eine Freigabe brauchen.
Mehr › Bereiche (Scopes)openid profile email, wenn du nichts anderes brauchst.

Gut zu wissenBei Google und Microsoft heißt „Neue Personen bekommen ein Konto“ wörtlich: jeder Mensch mit einem Konto dort. Schalte es nur an, wenn du selbst entscheidest, wer beim Anbieter ein Konto hat, oder wenn du die Anwendung dort auf deine eigene Organisation beschränkt hast. Nexview schreibt das neben den Schalter.

authentik in einem Schritt

Trag in der dritten Karte die Adresse von authentik ein und einen API-Token, der Anwendungen anlegen darf (in authentik unter „Directory › Tokens and App passwords“, ein API-Token eines Administrators). „Einrichten“ legt dann den Schlüssel zum Signieren, die Zuordnungen für Name und Adresse, einen OAuth2-Anbieter und die Anwendung an, oder aktualisiert sie, wenn du es noch einmal drückst, und trägt den Eintrag hier ein. Jeder Schritt steht mit Haken oder Kreuz da, und ein gescheiterter nennt den Grund: authentik nicht erreichbar, das Token abgelehnt, ein anderer Name schon vergeben. Das Token wird nur für diesen Lauf benutzt und nie gespeichert.

  • Ein zweites Nexview gegen dasselbe authentik bekommt einen eigenen Anbieter, das erste bleibt unberührt.
  • Zieht Nexview auf eine andere Adresse um, findet der Knopf seinen Anbieter über die Client-ID wieder, und alle Verknüpfungen bleiben.
  • Auf ein anderes authentik gezeigt, ist das ein anderer Aussteller: Nexview fragt zuerst und nennt, wie viele Konten sich neu verknüpfen müssten.
  • „Stattdessen Blueprint herunterladen“ liefert nexview-authentik.yaml, die du in authentik selbst einspielst (Customization › Blueprints).
  • Ohne öffentliche Adresse schlägt die Karte die vor, mit der du gerade im Browser bist. „Übernehmen und einrichten“ speichert sie zuerst. Eine aus der Anfrage geratene Adresse trägt Nexview nie ein.

Microsoft Entra ID

Lege im Entra admin center unter „App registrations“ eine Anwendung an, trag die Rückleitadresse als Weiterleitung der Plattform „Web“ ein (Entra nimmt nur https, außer für localhost) und erzeuge ein Client-Geheimnis. Der Aussteller ist https://login.microsoftonline.com/MANDANTEN-ID/v2.0 für deinen eigenen Mandanten, oder …/common/v2.0 beziehungsweise …/organizations/v2.0 für mehrere. Nexview nimmt dann ein Token jedes Mandanten an, dessen iss und tid zusammenpassen. Entra schickt die Mailadresse nur als optionalen Claim email.

Andere Anbieter

  • Keycloak. „Clients › Create client“, Typ OpenID Connect, „Client authentication“ an, „Standard flow“. Die Rückleitadresse kommt unter „Valid redirect URIs“. Aussteller: https://keycloak.example.com/realms/<realm>.
  • Pocket ID. „OIDC Clients › Add client“. Aussteller ist die Adresse deines Pocket ID.
  • Authelia. Ein Client unter identity_providers.oidc.clients mit der Rückleitadresse und scopes: [openid, email, profile]. Nexview bekommt das Geheimnis im Klartext, das du für Authelia als Hash abgelegt hast. Authelia lässt die Adresse aus dem ID-Token weg, Nexview liest sie aus userinfo.
  • Zitadel. „New application“, Typ Web, Authentifizierungsmethode Basic. Aussteller ist die Adresse deiner Instanz.
  • Google. „APIs & Services › Credentials › OAuth client ID“, Typ Web application. Aussteller: https://accounts.google.com. Lass „Neue Personen bekommen ein Konto“ aus, außer der Client ist auf dein eigenes Workspace beschränkt.

Wer ist das? Verknüpfen, Einladungen, neue Leute

Nexview erkennt einen Menschen allein an seiner Identität beim Anbieter, also Aussteller plus Kennung, nie an der Mailadresse, auch wenn der Anbieter sie als bestätigt meldet. Benennst du die Person beim Anbieter um oder änderst dort ihre Adresse, hält die Verknüpfung.

  • Bestehende Konten verknüpfen sich selbst unter „Profil › Konto › Sicherheit“ im Abschnitt „Anmeldeanbieter“. „Verknüpfen“ fragt noch einmal nach dem eigenen Passwort, geht zum Anbieter und zurück. „Lösen“ nimmt die Verknüpfung weg. Ein Konto ohne Passwort behält seine letzte Verknüpfung, sonst wäre es ausgesperrt. Danach geht beides: der Knopf des Anbieters und weiterhin das Passwort.
  • Eingeladene wählen auf der Einladungsseite „Weiter mit …“, statt ein Passwort zu wählen. Die Einladung reist mit zum Anbieter und zurück und wird genau einmal eingelöst.
  • Alle anderen kommen nur herein, wenn „Neue Personen bekommen ein Konto“ für diesen Anbieter an ist. Sonst sagt die Anmeldeseite, dass es eine Einladung braucht oder dass sich das Konto im Profil verknüpfen lässt.
  • Administratoren sehen in „Einstellungen › Benutzer“ je Konto die Anbieter als kleine Zeichen und können eine Verknüpfung mit dem eigenen Passwort lösen. Das Konto des Betreibers rührt nur der Betreiber an.

Gruppen werden nicht gelesen. Der Anbieter bürgt dafür, wer jemand ist. Was die Person hier darf, also Rolle, Kontingente, gesperrte Profile und automatische Freigabe, bleibt in Nexview. Beim Löschen eines Kontos wird seine Identität gesperrt, damit „Neue Personen bekommen ein Konto“ sie nicht sofort wieder hereinlässt. Die Liste „Gesperrte Anmeldungen“ steht unter den drei Karten, und „Sperre aufheben“ lässt die Identität wieder herein.

Das Passwort abschalten

Sobald mindestens ein Anbieter läuft, lässt sich „Anmeldung mit Passwort“ abschalten. Die Anmeldeseite zeigt dann nur noch die Knöpfe der Anbieter und darunter „Als Betreiber mit Passwort anmelden“: Der Betreiber kommt immer mit dem Passwort herein, das ist der Weg zurück, wenn der Anbieter ausfällt. Verschwindet der letzte Anbieter oder wird er ausgeschaltet, gilt das Passwort wieder für alle.

Anbieter ändern oder entfernen

Ein anderer Aussteller ist ein anderer Anbieter: Die Verknüpfungen dieses Eintrags gehen weg, und die Betroffenen verknüpfen sich neu. Das Formular sagt vor dem Speichern, wie viele Konten das sind. Derselbe Aussteller mit oder ohne Schrägstrich am Ende ändert nichts. Beim Entfernen nennt die Rückfrage, wie vielen Konten die Verknüpfung fehlt und für wie viele es der einzige Weg herein war.

Und der zweite Faktor?

Nexview hat keinen eigenen zweiten Faktor. Wer einen will, schaltet ihn bei seinem Anmeldedienst ein, und der prüft ihn bei jeder Anmeldung über den Anbieter.

Was Nexview prüft, und wenn es nicht klappt

Das ID-Token wird gegen die veröffentlichten Schlüssel des Anbieters geprüft, nie gegen ein gemeinsames Geheimnis, dazu Aussteller, Empfänger, Ablauf, nonce und eine nicht leere Kennung. Der Versuch selbst läuft mit PKCE und einem state, der nur einmal gilt. Wird eine Anmeldung abgelehnt, steht im Protokoll unter „Einstellungen › System › Protokoll“ genau eine Zeile mit dem Grund, etwa OIDC sign-in refused: oidc_no_account. Adressen stehen dort gekürzt, Token und Geheimnisse nie. Die Person selbst liest einen kurzen Satz, der sagt, was zu tun ist, etwa „Für dich gibt es hier kein Konto. Bitte um eine Einladung, oder melde dich mit Passwort an und verknüpfe dein Konto in deinen Kontoeinstellungen.“

Als Nächstes geht es um das, was zwischen dir und deinen Leuten steht: Hinter einem Proxy. Eine Kurzfassung der Wege steht auf der Seite Anmeldung unter den Funktionen.