Changed unique token to be pseudorandomly generated (still probably guessable with a lot of work, since it's using the default RNG not a CSPRNG, but probably good enough given the scope of this project).