Я использую пакет csurf
(https://github.com/expressjs/csurf) на сервере Express.js 4 с пакетами CORS
и cookie-session
(https://github.com/expressjs/cookie-session).
Сегодня я заметил Set-Cookie
для предварительных вызовов OPTIONS.
После предварительных вызовов OPTIONS cookie все еще является старым, как Set-Cookie в заголовке ответа вызова OPTIONS, и ничего не делает.
Это странно, верно?
Я думаю, что этот пакет пишет csrfSecret
в сеансе также для вызовов OPTIONS.
В Readme они говорят (https://github.com/expressjs/csurf#ignoremethods):
ignoreMethods
Массив методов, для которых проверка токенов CSRF будет отключена. По умолчанию ['GET', 'HEAD', 'OPTIONS'].
I'mиспользуя значение по умолчанию, поэтому я думаю, что он должен игнорировать вызовы OPTIONS, но, очевидно, дело не в секрете. CSURF записывает секрет в каждом сеансе вызова OPTIONS, а cookie-сеанс, очевидно, записывает новый cookie каждый раз .
Как этого избежать?