除非具有管理员权限,否则 AWS DynamoDB 查询不显示用户数据
AWS DynamoDB Queries Not Showing user data unless with Admin privileges
我目前无法以普通用户身份查询 DynamoDB 以获取用户自己的详细信息。值得注意的是,当给予管理员权限时,用户可以按预期执行查询和工作;所以这不是数据的问题,而是用户的权限问题。
我认为问题是由于 graphQL 中“所有者”属性 的性质和我的身份验证方式(电子邮件和密码)引起的。我相信“所有者”属性 可能只适用于用户名和密码,但我找不到任何文档来支持这一点,所以这是在黑暗中刺伤。有没有人知道为什么用户无法接收自己的数据?
查询:
管理员权限:
Schema.graphql:
type User @model
@auth(rules: [
{allow: groups, groups: ["Admin"] },
{allow: owner, ownerField: "username", operations: [read]}
])
{
id: ID!
email: String!
}
将所有者字段“用户名”替换为“id”
type User @model
@auth(rules: [
{allow: groups, groups: ["Admin"] },
{allow: owner, ownerField: "id", operations: [read]}
])
{
id: ID!
email: String!
}
我目前无法以普通用户身份查询 DynamoDB 以获取用户自己的详细信息。值得注意的是,当给予管理员权限时,用户可以按预期执行查询和工作;所以这不是数据的问题,而是用户的权限问题。
我认为问题是由于 graphQL 中“所有者”属性 的性质和我的身份验证方式(电子邮件和密码)引起的。我相信“所有者”属性 可能只适用于用户名和密码,但我找不到任何文档来支持这一点,所以这是在黑暗中刺伤。有没有人知道为什么用户无法接收自己的数据?
查询:
管理员权限:
Schema.graphql:
type User @model
@auth(rules: [
{allow: groups, groups: ["Admin"] },
{allow: owner, ownerField: "username", operations: [read]}
])
{
id: ID!
email: String!
}
将所有者字段“用户名”替换为“id”
type User @model
@auth(rules: [
{allow: groups, groups: ["Admin"] },
{allow: owner, ownerField: "id", operations: [read]}
])
{
id: ID!
email: String!
}