Passwords App Version:20240920 Fehlermeldung

Hallo Community,
ich habe plötzlich Fehler bei mir auf der Cloud und bis jetzt habe ich keine Lösung dazu.
Die “Passwords App” funktioniert grundsĂ€tzlich.
Es betrifft NUR EINEN Nutzer bei dem die App nicht mehr funktioniert.
Der Nutzer hat die Passwords App auch mit einem E2E-Passwort geschĂŒtzt, wie die anderen ebenso.
Gestern Abend hat die App bei ihm noch funktioniert.
Der Fehler ist auch nur bei einem Nutzer.

Wenn er die Passwords App öffnet erschein folgende Bild:
App-Password-Fehler

Meine Cloud:
Nextcloud Version: HUB 8 (29.0.5)
DB: pgsql
php: 8.3
Passwords App Version: 20240920

Es sind seit heute morgen DREI Fehlermeldung im Log ĂŒber die WeboberflĂ€che vorhanden:

Fatal passwords
DoesNotExistException Did expect one result but found none when executing: query “SELECT * FROM *PREFIX*passwords_challenge WHERE (deleted = :dcValue1) AND (user_id = :dcValue2) AND (uuid = :dcValue3)”;

Fatal passwords ApiException Loading challenge failed

Fehler passwords Error “Loading challenge failed” in \CA\Passwords\Controller\Api\SessionApiController::request

Kennt jemand die Lösung?

Vielen Dank schon mal

ich weiß nicht
 vielleicht weiß @mdw mehr?

Es wÀre vielleicht gut, wenn du einen Bugreport im Githubrepository erstellen könntest.

Mein Fehler auf Github:

Ja du hast Recht, dass mach ich auch noch.

Hmm, immer wieder toll wenn man eigentlich gar nix Àndert und hinterher trotzdem irgendwas kaputt ist


Ich wĂŒrde folgendes probieren:
Zuerst mal die ID der challenge fĂŒr den user heraussuchen mit folgendem SQL statement: (Die Platzhalter mit * bitte ersetzen)

SELECT * FROM `*PREFIX*_preferences` WHERE `userid` LIKE '*USER ID*' AND `appid` LIKE 'passwords' AND `configkey` LIKE 'user/challenge/id' 

Danach in der Challenge-Tabelle nachsehen was mit der Challenge los ist.

SELECT * FROM `*PREFIX*_passwords_challenge` WHERE `user_id` LIKE '*USER ID*' 

Mit dem SQL werden alle challenges des Benutzers aufgelistet. Eine davon sollte die ID aus dem vorherigen SQL Statement haben. Wenn dort deleted auf 1 steht, einfach wieder auf 0 stellen und schauen obs geht.

@mdw Danke schon mal.

Ich nutze “pgadmin 4” und habe jetzt den ersten Query probiert und erhalte auch die passende Zeile zum “NutzerMitProblem”:

Den zweiten Query habe ich kĂŒrzen mĂŒssen, weil er ins leere lĂ€uft:

SELECT * FROM oc_passwords_challenge

und festgestellt, dass der “NutzerMitProblem” nicht mehr in der Tabelle aufgefĂŒhrt ist. Alle anderen Nutzer sind aufgelistet und bei den funktioniert es ja auch.

Den Eintrag kann ich doch bestimmt wieder reparieren oder?
Ich probiere jetzt erstmal nichts weiter und warte auf euch :innocent:

In diesem Fall wĂŒrde ich empfehlen ein Backup wiederherzustellen: https://git.mdns.eu/nextcloud/passwords/-/wikis/Administrators/Backups#restoring-backups

Idealerweise auf einem Nicht-Produktiv-System, dann wird nicht aus versehen etwas anderes ĂŒberschrieben. Dann einfach den fehlenden Eintrag rĂŒberkopieren.
Backups können auch spezifisch fĂŒr einen einzelnen Nutzer wiederhergestellt werden.

Ich habe mir von dem Server einen vollstÀndigen Clone erstellt und
habe folgende Schritte durchgefĂŒhrt:

sudo -u www-data php occ passwords:backup:restore 2024-09-16_09-15-10 --user [NutzerMitProblem]

This backup file will be used: 2024-09-16_09-15-10

The following will be restored:

  • Only data for ‘[NutzerMitProblem]’
  • The Nextcloud server secret
  • Server and user encryption keys
  • User passwords, folder, tags and shares
  • User settings
  • Third party client settings

Restoring user data means that the current user data will be wiped.
:exclamation::exclamation::exclamation: The backup “2024-09-16_09-15-10” will now be restored :exclamation::exclamation::exclamation:
Type “yes” to confirm this: yes

Restoring backup 
 done

Anschließend:

/var/www/nextcloud# sudo -u www-data php occ files:scan-app-data

Das Problem ist beim Nutzer weiterhin.
Dann habe ich in die Datenbank geschaut mit:

select * from oc_preferences where userid like ‘NutzerMitProblem’

und stelle fest diese ‘userid’ mit der Zeichenfolge gibt es nicht mehr ???
Dann habe ich den Query wieder gekĂŒrtzt:

select * from oc_preferences

und stelle Fest das die Zeichenfolge von meinem “NutzerMitProblem” eine andere ist. Nach dem einspielen vom Backup hat der Nutzer plötzlich am Anfang und am Ende großen Buchstaben. “NutzerMitProbleM”.

Nennen wir meinen NutzerMitProblem in seiner userid “ChristianG” (nach dem Backup)

Vor dem Backup war die userid noch “christiang”
Dieser Nutzer hat diesen Monat auch kein neues Passwort angelegt oder etwas bearbeitet.

ĂŒber den Query:

select * from oc_passwords_challenge

ist auch alles leer.

Mal sehen. Àrgerlich. Vielleicht habt ihr ja noch weitere Ideen. Danke euch. :wink:
Morgen Mittag probiere ich es mal mit Nutzer löschen und Neu anlegen.

Das probiere ich Morgen auch noch. Reicht fĂŒr Heute :yawning_face:

@mdw
(Den fehlenden Eintrag rĂŒberkopieren)

Das hat leider nicht funktioniert.

Es ist eine Multi-Hölle. Der SchlĂŒsselbund zur App-Passwords ist auch weg. die liegen anscheined hier:

SELECT * FROM public.oc_passwords_keychain

Beim wiederherstellen des password Backups mit:

sudo -u www-data php occ passwords:backup:restore 2024-09-16_09-15-10 --user [NutzerMitProblem]

War der SchlĂŒsselbund auch nicht dabei ! :face_with_raised_eyebrow:

Ich habe den Nutzer gelöscht und neu angelegt. Die App funktioniert wieder und wir haben die Passwörter ĂŒber die App importiert und E2E.

Jetzt erscheint der Nutzer auch wieder in allen oben genannten Querys.
Ich danke euch trotzdem

Meine Lösung: Nutzer löschen und neu anlegen.