Graphene: Request-level middleware

Created on 23 Dec 2019  路  2Comments  路  Source: graphql-python/graphene

I'm using Graphene with Django, and I have a middleware that checks user auth token. I'm having an issue with the middleware being executed at the field-level. Each field resolution triggers a call to check user's token in my case.

Any suggestions to improve this? Any plans for supporting request-level middleware?

I have some idea:

  1. Move auth checking into a Django middleware, but that means any exception raised will not be serialized into GraphQLResponse.
  2. Add a flag is_authenticated into info.context object, if the value of info.context.is_authenticated is True, skip the middleware by calling next()
wontfix

Most helpful comment

I just released graphql-utilities including utilities to support operation-level only middleware. It targets graphql-core>=3.0 (or graphql-core-next), feel free to check it out.

All 2 comments

I just released graphql-utilities including utilities to support operation-level only middleware. It targets graphql-core>=3.0 (or graphql-core-next), feel free to check it out.

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

Was this page helpful?
0 / 5 - 0 ratings