Skip to content
Back

Upgrading to 1.3.3 locks me out

  • 0
  • Web
mauricev
1 May, 2023, 04:25

When I upgraded to 1.3.3 from 1.2, I get locked out of the web interface. I have a sneaking suspicion that upgrading is erasing Appwrite’s configuration and that’s why I am getting locked out. Ordinarily, it summarily logs in without my having to enter a password. I can’t send myself a password reset link because there’s appears to be a bug that prevents the SMTP from connecting.

TL;DR
User is experiencing an issue after upgrading to version 1.3.3. Upgrading may have caused the encryption key to change, making certain fields, such as the console user password, inaccessible. The solution is to ensure that the correct key is used in the configuration files (.env and docker-compose.yml). The user suspects that the upgrade may have erased Appwrite's configuration, leading to being locked out of the web interface. Additionally, there is a bug preventing the SMTP from connecting for password reset emails.
Drake
1 May, 2023, 04:48

What's in your appwrite folder?

mauricev
1 May, 2023, 06:11

You mean the docker-compose.yml and .env files? They are there. I just realized I put in a different _APP_OPENSSL_KEY_V1. Might that cause a problem?

mauricev
2 May, 2023, 02:44

Thanks, that indeed was the problem. Does that mean once we pick a key, we are stuck with it forever?

Binyamin
2 May, 2023, 03:14

It seems like it.

You can see here https://github.com/appwrite/appwrite/blob/master/app/init.php#L434 Any data that is inserted into the database will use the provided key for encode and decoding the encryption,

So if you'll change your key, then all the fields that are set to be filter through is filter will become inaccessible, for example the console user password attribute. https://github.com/appwrite/appwrite/blob/master/app/config/collections.php#L1259

TypeScript
     [
           '$id' => ID::custom('password'),
           'type' => Database::VAR_STRING,
           'format' => '',
           'size' => 16384,
           'signed' => true,
           'required' => false,
           'default' => null,
           'array' => false,
           'filters' => ['encrypt'],
     ],
Binyamin
2 May, 2023, 03:17

P.s. from what I see the password itself will be written in a one-way encryption behind the two-way encrypt filter. That mean that even after the decryption process the value of the password will still be hashed-encryption. So it's add another level of safety around the save hashed password.

Reply

Reply to this thread by joining our Discord

Reply on Discord

Need support?

Join our Discord

Get community support by joining our Discord server.

Join Discord

Get premium support

Join Appwrite Pro and get email support from our team.

Learn more