Comments (4)
I believe this is by design and that there are two distinct cases of masking errors:
- don't leak unintended error information on accident (current implementation)
- don't leak private schema information (e.g. available fields) through validation
Both cases are valid and may be required on their own without implying the other case. Please keep in mind that both cases exclude parsing, but I don't see any immediate security risks from leaving these open.
An ideal PR would add your suggestion as a configurable option. Since this is a new feature, you could write an integration-style test with a basic schema and an invalid query that fails validation against the given schema.
Feel free to tag me on the PR regarding any additional questions, or ask on our Discord in the #development channel 😊
from strawberry.
@erikwrede A configurable option on the MaskErrors
class, or e.g. a MaskValidationErrors
subclass of MaskErrors
?
from strawberry.
@alimony I'd prefer an option on the MaskErrors
constructor. CCing @patrick91 for a second opinion.
from strawberry.
@patrick91 What do you think?
from strawberry.
Related Issues (20)
- Support explicit setting of federation version HOT 4
- Subgraph: "'NoneType' object has no attribute '...'" HOT 4
- oneOf is not properly exported to graphql-core library HOT 1
- Operation directives (seemingly) always erroring HOT 5
- Allow create interfaces without fields. HOT 2
- Functionality for filtering events in Subscriptions HOT 1
- Subscriptions fail to create WebSocket connections
- default_factory doesn't work HOT 11
- Wrong info type passed to resolve_reference classmethod
- GlobalID#resolve_type does not handle invalid IDs HOT 2
- Ability to configure ws max size for ws connections used via subscription feature. HOT 1
- field level relay results limit HOT 5
- feat: Excluding a field from a type by making it private HOT 4
- Rename modules that have same name as aliases HOT 16
- Feature: Default GraphQL Enums from Python Enums. HOT 3
- Slow performance for queries that return many items HOT 7
- Using the ASGI app as a Starlette route throws typing errors HOT 7
- Lazy resolvers? HOT 3
- (Relay) Output ID instead of GlobalID in GraphQL schema HOT 5
- export-schema does not include ENUM descriptions HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from strawberry.