Я бы взял что то готовое, что скорее всего будут использовать рядом(для создания токенов). А то получится для проверки одна либа будет использоваться, для создания другая.
В моей Либе и генерация и проверка. Там в принципе стандарт 1. Заголовок, полезная нагрузка и подпись. Заголовок по стандартам, полезная нагрузка - любая инфа которую считаешь нужной тебе, подпись - собственно зашифрованные и пописанные ключом заголовок и вложение