Зависит от того, как вы планируете подписать свой токен. По сути, вам понадобится какой-то секрет, чтобы подписать полезную нагрузку JWT.
Является ли ваш секрет ключом API, который уже есть у клиента? Если это так, то нет ничего страшного в том, чтобы генерировать его на стороне клиента.
Является ли ваш секрет суперсекретным, и вы не можете выдать его клиентам? Тогда вы, вероятно, захотите go с вашей идеей Firebase.
Довольно часто в таких ситуациях клиент просто подписывает ключ API, но ваши мотивы для блокировки вашего API для начала являются движущей силой здесь.
IBM-Swift выглядит как наиболее полная библиотека JWT для swift в наши дни, если вы решите go на стороне клиента.
Jsonwebtoken - очень хорошая JS, если вам решите развернуть функцию G C.
Обе библиотеки очень просты в использовании.