I am trying to work out the best way to secure user credentials for the login of the service i am working on. The safest way would be to use hashing and salting however this project requires the password to be decrypted so that the support staff can login to the users account (if the user opens a support ticket if something is not working right).
I have done some research and it seems like AES is the best option. My concern is how I should be storing the encryption keys on the server, because if the server is compromised then the hacker has access to the keys to decrypt all the credentials.
I would be grateful if someone could inform me on the best practices i should use for this project.
Side note: I am programming the backend in NodeJS and it will be running on a private linux VPS.