Тем что api токен - это апи токен, а сессия - это сессия?
Токен лежит в базе как и сессия так в чем отличие? И у токена как и у сессии есть aceess поля , в чем разница ?
что то кажется кто-то путает белое с черным
https://t.me/laravel_web
в том то и разница sanctum (судя по коду на github) хранит токен в базе jwt может не хранится в базе, а только выдан и содержать нужные данные, приэтом иметь подпись, чтоб данные не подделали session это всего лишь id записи где то (базе, redis, fail) хранится обычно в coockie, в случае с laravel зашифрованной P.S. поправьте если где ошибся, в частности с sanctum (не пробовал, только в теории)
Так jwt refresh token всегда хранится в базе это раз второй момент судя по доке sacrum я не поленился чекну они токены хранят в базе
Jwt - это стейтлес шляпа, которая живет сама по себе. А санктум хранит все токены в бд, чтобы можно было ими управлять
jwt, это всего лишь способ, если так можно сказать, хранения передаваемых данных, которые нельзя подделать, т.к. они подписаны и всегда можно проверить правильность данных имя подпись, поменяв подпись
На сервере хранится secret key для jwt, с помощью которого всё это и происходит
А теперь узнаем горькую правду что refresh идет в базу и при обновление токена он отуда запрашивает , а если вас еще и взламывают вам придется делать memcache сервис который будет держать чёрный список. Вам не кажется как то сложно учитывая что легче поднять сессию
Просто так в БД он не идёт, потому что он стейтлес
Stateless только aceess и то до момента пока вам не придётся обнулять токены
Обсуждают сегодня