Allow Decoding of Subclasses in decode
Method
#68
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.
I was struggling with an issue for the past days and I manage to fix it in my case, so I figure i'd do a PR so maybe it can help others.
Summary
This PR modifies the
decode
method to allow children classes of the specifiedresource_class
to be decoded. By changing the class comparison logic, this adjustment ensures that subclasses can be properly authenticated without throwing anInvalidTokenError
.Rationale
This change enhances the flexibility of the decode method by allowing subclasses to be decoded. For example:
In a controller, a token generated for a User can now be decoded into either an AnonymousUser or an Admin without raising an error:
At this point,
user
could be anAnonymousUser
or anAdmin
This works without throwing an
InvalidTokenError
Benefits