Avoid calling 'unsign' in case if the token from cookie is 'undefined… #34
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Avoid calling 'unsign' in case if the token from cookie is 'undefined'. If the first argument is different from 'string', the unsign function will always throw "Signed cookie string must be provided."
src/cookies/getCookie.ts
This function checks if
headers.cookie !== null
and is trying to get the token from parsed cookie, but the cookie could be present but different from XSRF token.Let's say I'm also using google analytics (gtag) that is making its own cookies such us:
_ga=GA1.1.1798070841.1638877244;
parsedCookie will be:
and the return statement
parsedCookie[name]
where name istokenKey
(by defaultXSRF-TOKEN
) will beundefined
then...
src/middleware/csrf.ts
since
tokenFromCookie
is undefined, and the first argument must betypeof string
, this function will always throw "Signed cookie string must be provided." and the request will fail with status 500