Токены хорошо использовать там, где сервис stateless, например в микросервисах, т.к. сессии по логину и паролю горизонтально хреново масштабируются. Вы мне кажется путаете токен и обычный пароль. Логин уже должен быть зашит в токен. В вашем случае если расширять ничего не планируете, используйте обычные сессии. В случае если хотите использовать токены вам их нужно 2
1)Access токен - токен по которому юзер собственно аутентифицируется в приложении. Этот токен имеет время жизни, обычно довольно маленькое, минут 15.
2)refresh токен - по этому токену раз в 15 минут фронт посылает запрос на определенный эндпоинт и апи выдает новый access токен.
Нахрена нужен refresh токен? Очень просто. Если наш access угнали, а приложение у нас stateless, то есть мы никакого состояния и информации о заходах пользователя на сервере не храним, то мы никак не можем заблокировать данный токен, вот тут вступает в силу refresh токен. Спустя 15 минут наш access станет не валидный и клиент пошлет запрос с refresh токеном, в ответ api пришлет новый access и тот токен который у злоумышленника станет не валидный.
В вашем случае да, подойдет обычная аутентификация на куках