If the token for a user is lost or used, there is no way to get a new token for that user.
There are several use-cases for this. As mentioned, the token might get lost in transit and thus need to be re-sent. You might need to recover your Juju environment after a laptop crash, or after moving to a new machine. When automating Juju, you may want to use the same user on multiple machines, such as when a Juju-using app is scaled. Or, for a CI system, you likely want Juju run from within a pristine (containerized) environment, necessitating re-registering the controller for each run. And then of course there's usual dev / debug workflow where you may add and remove controllers multiple times while testing something.
All of these get very tedious if you have to create a new unique user every time.
If the token for a user is lost or used, there is no way to get a new token for that user.
There are several use-cases for this. As mentioned, the token might get lost in transit and thus need to be re-sent. You might need to recover your Juju environment after a laptop crash, or after moving to a new machine. When automating Juju, you may want to use the same user on multiple machines, such as when a Juju-using app is scaled. Or, for a CI system, you likely want Juju run from within a pristine (containerized) environment, necessitating re-registering the controller for each run. And then of course there's usual dev / debug workflow where you may add and remove controllers multiple times while testing something.
All of these get very tedious if you have to create a new unique user every time.