Es gibt ein neues Modul mit dem Namen 'Einwohnermeldeamt', welches sich künftig um die Authentifizierung kümmern wird.
Aktuell ist die Authentifizierung der einzige Part, der noch von einem externen Service übernommen wird - nämlich von indieauth.com, mit Verifizierung per Einmail-Code an die eigene E-Mail Adresse. Das neue Modul wird diesen Flow ersetzen, zuerst per Passwort, später können noch weitere Authentifizerungsmöglichkeiten hinzukommen.
Der bisherige Flow mit indieauth.com kann auch weiterhin verwendet werden, wenn gewünscht. Es kann außerdem jeder andere beliebige IndieAuth Anbieter genutzt werden, dies ist einer der Vorteile des modularen Systems.
Um das neue Modul 'Einwohnermeldeamt' zu nutzen, sind aktuell einige Anpassungen notwendig (künftig wird es automatisch von Homestead mit installiert und konfiguriert, wenn wir einen stabilen Stand erreicht haben).
Schritt 1: alle bisherigen Module updaten
Zuerst müssen alle anderen Module (Eigenheim, Sekretär, Postamt) auf mindestens Version 0.1.5 aktualisiert werden.
Schritt 2: Einwohnermeldeamt installieren
Wir gehen davon aus, dass Homestead unter https://www.example.com installiert wurde. Sekretär liegt unter https://www.example.com/sekretaer/.
Zuerst den neuesten Release von Einwohnermeldeamt unter https://github.com/maxhaesslein/einwohnermeldeamt/releases herunterladen. Diese Datei in einen Ordner 'einwohnermeldeamt' entpacken, und auf den Server hochladen, so dass es unter https://www.example.com/einwohnermeldeamt/ liegt. Diese URL in einem Browser öffnen, woraufhin der Setup-Flow von Einwohnermeldeamt erscheinen sollte.
Unter 'Me' muss die Eigenheim-URL eingegeben werden, in unserem Beispiel also https://www.example.com/ - das Passwort kann frei gewählt werden.
Schritt 3: Einwohnermeldeamt in Eigenheim hinterlegen
Die Datei eigenheim/config.php öffnen. Die Config-Option 'auth_mail' kann per '//' am Zeilenanfang auskommentiert werden. In der vorletzten Zeile, vor dem schließenden '];', fügen wir diese Zeilen ein:
'indieauth-metadata' => true,
'endpoint-discovery-via-header' => true,
'authorization_endpoint' => 'https://www.example.com/einwohnermeldeamt/auth',
'token_endpoint' => 'https://www.example.com/einwohnermeldeamt/token',
wobei https://www.example.com natürlich durch die korrekte URL ersetzt werden muss.
Anschließend kann man sich normal in Sekretär einloggen, wird aber nicht mehr zu indieauth.com weitergeleitet, sondern zu Einwohnermeldeamt, wo man sein Passwort enigeben kann. Falls man bereits eingeloggt war, muss man sich erst ausloggen, und dann neu einloggen.
Schritt 4: Einwohnermeldeamt in Homestead integrieren
Damit Einwohnermeldeamt künftig über den Homestead Updater aktualisiert werden kann, müssen wir es dort noch hinterlegen. Die Datei 'config.php' im Root-Verzeichnis öffnen.
Zuerst nach dem vorletzten ']' noch ein Komma einfügen:
],
];
anschließend in der vorletzten Zeile zwischen dem eben eingefügten Komma und vor dem schließenden '];' dies hier einfügen:
],
'einwohnermeldeamt' => [
'name' => 'Einwohnermeldeamt',
'target' => 'einwohnermeldeamt/',
'zipball_stable' => 'https://api.github.com/repos/maxhaesslein/einwohnermeldeamt/releases',
'zipball_dev' => 'https://github.com/maxhaesslein/einwohnermeldeamt/archive/refs/heads/main.zip',
],
];