Validation Options - Experiment 1: Embedding validation options in claim #208
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.
This PR is part of a series of experiments, to see which options we have to implement validation options in a backwards compatible way. I want to get a fell about our options first and some feedback from the community, before we implement all desired options. I am looking to gather feedback here: #211
Option 1 is to embedded a
validator
struct which olds all the necessary information into the claims itself. It is populated by the Parser duringParse
. The claim'sValid
function can then retrieve the information and adjust the validation.Pros:
Valid
orVerifyXXX
functions, not even with varargs.v
) and should therefore not interfere with json MarshallingCons:
jwt.RegisteredClaims
(and jwt.StandardClaims) because I have no way to "silently" inject it intoMapClaims
. I could add a key to the map, but this will be then transparent to the user and might conflict with a custom claim the user hasparser_test.go
I cannot really test it because it is using thejwt_test
package for tests and therefore cannot access the unexpectedv
field and this leads to some errors in the comparison test.