Pass options from interceptor to parseRequest #55
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.
Issue
By default the parseRequest method called from @sentry/node package passes an empty object for parsing the express request.
This leads to in my case the user object not being parsed currectly from the request because of the following:
Referring to the code in https://github.com/getsentry/sentry-javascript/blob/master/packages/node/src/handlers.ts#L338
User by default is true so it will try and pull the keys from the object.
In
extractUserData
https://github.com/getsentry/sentry-javascript/blob/d3ca7a897263141e9f0821e8be2a8cb617638d4d/packages/node/src/handlers.ts#L167If no keys are provided the following will be parsed.
In most jwt applications additional keys are povided and used.
Resolution
To fix this I pass SentryInterceptorOptions to @sentry/node parseRequest to allow the ability to provide user object keys outside of the default keys array.
Like so:
Example
This allows for the following implementation.