Что то я не вижу нормального объяснения jwt, везде привязка к access refresh, но, суть в том что вы берете любой объект, превращаете его в json строку, подписываете эту строку, потом превращаете в base64 (сам json никак не защищен) и добавляете к нему подпись и метадату. В этом случаи, даже если вы знаете что у кого то есть токен "2", вы все равно не сможете эту двуйку правильно подписать. jwt нужен всегда, а вот делать ли access refresh это уже другое дело.