@Josnoww Wow, this is really helpful! Thank you. I'm not afraid of a little SSH.
@tomnagel Yes I can explain that. Short version: I didn't know that and generate new API keys after every upgrade.
Yes that sounds stupid, but here's the long version:
We are a Maker Space where people are allowed to use our machines on their own. So in order to keep track of who does what, and also to limit the use to active users (i.e. paying customers) who attended the respective safety course, we use a management system (fabman.io) that uses NFC readers to authenticate users and activate machines. Many machines are simply switched on and off using a relay, but for the UltimakerS I was able to code a python script that runs ON THE PRINTER, watches printer status and checks if anyone has been authenticated when a job starts. If not, the job is paused. And it also logs how much material was used by whom, which saves us a lot of trouble. I love you for this! 😄
This script is purged from the printer's filesystem every time a new firmware version is installed; but that's OK for me, I wrote an installation script that copies the script to the printers and configures them to start it automatically as well.
I was not aware that the API keys are retained during a normal firmware upgrade, as my keys never leave the printers... my installation script creates a new key after every reinstall. I think @Josnoww just helped me getting rid of having to do that.
(I could run the script on a server in our network instead of on the printers, but a creative user could simply turn off a printer's WiFi or network and print for free. I'm quite sure we'd figure out who it was, but that costs time and none the less we try to make our authentication system as secure as possible.)