When should I mark a column as the primary key?
It depends on many things. Assuming you're using innodb it comes with a big price. So you need to value and balance pros and cons for your use case.

Downsides of big varchar column:


Due to the random order of tokens 


your inserts are going to be significantly slower, 
will cause massive fragmentation and 
much more frequent page splits

Due to this fragmentation the table will actually use you more space than you can save on omitting the the 4 or 8 byte integer key you're using.
If you have any other keys they are going to contain this big primary key at the end further bloating your table: https://www.percona.com/blog/2006/10/03/long-primary-key-for-innodb-tables/


Upsides of natural primary key:


By the nature of InnoDB primary key lookups are very fast so if you query your table by only this columns this might give you some edge (although adaptive hash index helps quite a lot with secondary key lookups) 


Most of the times people are trying to use natural keys to eliminate the id column for space consideration which is just the opposite of what is actually happening. If you want that for query optimization and that outweighs the downsides than go for it.