feat: Cache OAuth2 introspection client #482
Closed
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.
Related issue
#293
#424
Proposed changes
#424 Cached the responses of OAuth2 introspection, but for repeated calls to similar requests with pre_authorization enabled Oathkeeper will fetch a new access token per request. This can generate a massive number of access tokens!
Checklist
vulnerability. If this pull request addresses a security. vulnerability, I
confirm that I got green light (please contact
[email protected]) from the maintainers to push
the changes.
works.
Further comments
Although the configuration for
authenticators. oauth2_introspection.config. pre_authorization
is not likely to change, the way the authenticators are built the configuration is not available on initialization. In order to get around this limitation this patch introduces a "cache" for the client. That cache uses a mutex which could be quite heavy for this use case. If there is a lighter solution that would work in this case it might be preferred.