Как Вам уже ответил
Сергей Горностаев используйте для этого JWT, только данные в него можете внести например такие: идентификатор сессии для пользователя либо его id (в зависимости от безопасности приложения), срок жизни, токен для продления сессии, время жизни токена продления авторизации, выданные права (аналог разрешений в OAuth)
Таким образом при каждом последующем запросе, который требует авторизации - отправляйте дополнительный заголовок Authorization: Bearer . Этот JWT можете сохранить либо в session storage либо в local storage (тоже в зависимости от назначения) и его продлять отдельным запросом при окончании его жизни но при жизни токена на продление. Либо вообще отказаться от продления и выдавать на временной основе и если закончился - то запрашивать заново авторизацию.
Проверять выданные разрешения на то или иное действие можно на 2-х уровнях: серверной (обязательно), клиентской (желательно).