amazon-web-services - 在 App Sync 的查询结果中过滤子文档
问题描述
我有两种类型的连接
type Auction @model {
id: ID!
name: String!
startingDate: AWSDateTime!
createdAt: AWSDateTime!
updatedAt: AWSDateTime!
products: [Product] @connection(name: "AuctionProducts")
}
type Product @model {
id: ID!
name: String!
description: String!
price: Int!
ownerId: String!
createdAt: AWSDateTime!
updatedAt: AWSDateTime!
auction: Auction @connection(name: "AuctionProducts")
}
我想查询拍卖和与之相关的产品,但由 ownerId 过滤这个想法是用户无法在拍卖中看到不属于他的产品。
我想在服务器端解决安全问题。我在过滤产品时迷失了自我,就好像它们在拍卖 dynamoDB 文档中一样,但它们不是。
我不知道了……这可能吗?
解决方案
现在可能已经弄清楚了,但是您需要配置一个 Auth 服务,Cognito 是最容易使用的。然后@auth
在您希望受到保护且仅对所有者可见的所有模式类型上使用该指令:
type Product @model @auth(rules: [{allow: owner, ownerField: "ownerId"}]) {
id: ID!
name: String!
description: String!
price: Int!
ownerId: String!
createdAt: AWSDateTime!
updatedAt: AWSDateTime!
auction: Auction @connection(name: "AuctionProducts")
}
推荐阅读
- reactjs - 我需要一些帮助,从 react-router-redux 迁移到 connected-react-router
- c++ - 我怎样才能使角度不奇怪?
- git - 签出提交后没有任何变化
- laravel - 微服务的正确粒度是多少?
- c# - 在我的 Xamarin.Forms 代码中调用 Web 上 Rest API 的 Get 方法时出现问题
- flutter - Flutter 如何将参数传递给“get”方法?
- r - 根据季度观察计算年化回报
- python - 将项目附加到来自 xml 的 dict 列表
- jquery - 如何使用 jquery 和 while 循环动态分配 id
- javascript - 从嵌套数组中删除无子元素(叶子除外)