Сергей, возможно, но можно указать смещение - на 2 байта (если UTF-8) меньше размера файла и писать оттуда
К.т. автор вопроса написал что там ndjson, а я не в курсе про особенности этого формата, может там это можно делать безболезненно
Alexey, если я правильно понял предлагается делать обновление токена на основании уже существующего, просроченного access_token.
Такой подход будет работать, но я бы так не делал, т.к. access_token может быть украден и использоваться злоумышленником для постоянного получения нового токена.
В варианте с OAuth2 - каждое обновление токена генерирует новую пару access и refresh токенов, что уменьшает количество времени, на протяжении которого злоумышленник может пользоваться украденым токеном.
access_token нужен для проверки права пользователя получить доступ к ресурсу.
refresh_token нужен только для выпуска нового access_token, вместо уже просроченного
Обычно срок жизни access_token короткий - в минутах, тогда как refresh_token - может жить существенно дольше
refresh_token не обязательно JWT - может быть любая, достаточно уникальная последовательность символов, например uuid. Хранить в нем информацию не всегда надо, т.к. для проверки этого токена все-равно надо в базу идти.