hasura / hasura/graphql-engine
support: option to disable webhook auth caching
- Dominant language
- TypeScript
- Stars
- 32.1k
- Forks
- 3k
- PR merge metrics
- PR metrics pending
Description
### Is your proposal related to a problem?
Due to [webhook auth caching](https://hasura.io/docs/latest/auth/authentication/webhook/#webhook-auth-caching) by default enabled , in Hasura cloud enterprise edition it checks the Redis instance to see if there is any cache present.
In case if the webhook auth caching is not in effect, i.e. the conditions for cache to be returned is not met ( not returning expected headers for caching), this would mean it would be still hitting the redis instance.
As a result you would see errors like below in your logs
```
{"detail":{"code":"unexpected","error":"ConnectionLost","path":"$"},"level":"error","timestamp":"2024-03-11T11:12:34.881+0000","type":"redis-error"}
```
### Describe the solution you'd like
Give an option to disable webhook auth caching, so that Hasura does not reach redis instance everytime there is webhook authentication flow triggered. This can be achievable via feature flag behind env var or console UI.
Contributor guide
Research direction
No files, tests, or entry points are named. Start by tracing the webhook authentication flow and its Redis cache lookup, then review the available configuration and console surfaces; done means an explicit option disables webhook auth caching and prevents Redis access for those flows.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- graphql, redis
- Domain
- api, authentication, backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100