Yanlış bilmiyorsam tokenlarçalınabiliyor ama
Session da çalınır hocam, bknz: Session hijacking. Session dediğiniz şey cookie'de saklanan bir koddur zaten.
Session ile tokenin farkı session'lar kullanıcı tarafından okunamaz, çünkü sunucu tarafında saklanır. Tokenin içinde yer alan bilgiler ise kullanıcı tarafından okunabilir. Bu yüzden token'de önemli bilgiler saklanmaz, tanımlayıcı bilgiler saklanır.
Ayrıca session da olsa token de olsa çalınmaması için bazı önlemler almanız gerekir. Örneğin ben tokenin içerisine kullanıcının tarayıcı ve ip bilgisini saklarım. (md5 ile hash ederek) Kullanıcı her istekte bulunduğunda tokenin içerisindeki ip ile anlık ip'sini karşılaştırıp aynı değil ise oturumu sonlandırırım. Bu şekilde basit güvenlik önlemleri alabilirsiniz
Ayrıca jwt projesine şuradan göz atabilirsiniz:
https://github.com/firebase/php-jwt