【发布时间】:2019-03-02 20:01:11
【问题描述】:
假设我的应用是电子商务。有Users、Orders和Products。
您需要通过身份验证(使用 JWT 令牌)才能访问您的 user 数据和您的 orders。此检查在解析器中完成。
但是,Products 是公开的。无需登录即可查看产品。
当然,User 有Orders,Order 有Products
如果前端有人在做这个查询怎么办:
query IAmEvil {
products {
orders {
users {
id
name
email
}
}
}
}
这个未经身份验证的人可以访问users 数据。我怎样才能防止这种情况发生?
我是否必须在所有解析器中为所有嵌套查询添加规则?
相关文档:
https://www.apollographql.com/docs/guides/security.html https://www.howtographql.com/advanced/4-security/ https://blog.apollographql.com/securing-your-graphql-api-from-malicious-queries-16130a324a6b https://www.prisma.io/forum/t/graphql-security-protect-nested-data/4519
【问题讨论】:
标签: security nested graphql apollo resolver