Delete sessions on password change

This commit is contained in:
Pancakes 2025-07-07 20:51:47 -04:00
parent 5480c2ee72
commit f5b0cdb32b
No known key found for this signature in database
GPG Key ID: 5792877BFA27DC8F
2 changed files with 14 additions and 0 deletions

View File

@ -35,6 +35,11 @@ func ChangePW(uuid []byte, password string) error {
return fmt.Errorf("failed to generate salt: %s", err)
}
err = db.RemoveSessionsFromUUID(uuid)
if err != nil {
return fmt.Errorf("failed to remove sessions: %s", err)
}
err = db.UpdateAccountPassword(uuid, deriveArgon2IDKey([]byte(password), salt), salt)
if err != nil {
return fmt.Errorf("failed to add account record: %s", err)

View File

@ -405,6 +405,15 @@ func RemoveSessionFromToken(token []byte) error {
return nil
}
func RemoveSessionsFromUUID(uuid []byte) error {
_, err := handle.Exec("DELETE FROM sessions WHERE uuid = ?", uuid)
if err != nil {
return err
}
return nil
}
func FetchUsernameFromUUID(uuid []byte) (string, error) {
var username string
err := handle.QueryRow("SELECT username FROM accounts WHERE uuid = ?", uuid).Scan(&username)