TL;DR
Please note that I have regained access through a workaround, however, I am interested in the process for resetting the admin password since there is no password field in the gibbonPerson table.
The Problem:
I have tried resetting the admin password in the database using https://ask.gibbonedu.org/discussion/comment/1435/#Comment_1435, however, there appears to be no “password” field in that table. I get “Error in query (1054): Unknown column ‘password’ in ‘field list’”. These are the only fields containing the word “password”:
Due to not having setup STMP beforehand, I was stuck, and Gibbon was prompting me to reset the password. I ended up setting FailCount to 0 in order to get back in. Please let us know the best SQL command to use to reset the password, since the “password” field is missing.
Also, select * from gibbonPerson returns the following: Error in query (1054): Unknown column ‘password’ in ‘field list’
I am now curious where the password field for the gibbonPerson records is stored. This…is…fascinating.
Note: I am formatting my messages as much as I can so that this info can be easily be found either by future me, or someone else in need.
The old passwords were stored as MD5, a while back we updated passwords to use a newer more secure SHA256 algorithm, and so the new passwords were stored in passwordStrong + passwordStrongSalt. The old password field was kept during the transition, and just removed in recent versions now that we no longer needed the transitional code.
Luckily, MySQL supports the SHA256 algorithm, so you could use the following code to manually reset your admin password, replacing only the “yourNewPassword” string with your actual password.
UPDATE gibbonPerson
SET passwordStrong=SHA2(CONCAT(@salt:=SUBSTRING(MD5(RAND()), 1, 22), “yourNewPassword”), 256), passwordStrongSalt=@salt
WHERE gibbonPerson.gibbonPersonID=1;`
Hope this helps! Changing the failCount is another quick way to get back into the system.