如何在AWS Amplify中为GraphQL查询提供单独的权限



我需要为单独的GraphQL查询提供单独的权限。例如,目前我定义了两个查询@auth为这两个查询授予Admin组权限。我怎么能给访问任何登录用户(Cognito池)对invokeLambda查询和只有Admin组对invokeGetGroups查询?我似乎弄不明白这是怎么做的。

type Query {
@auth(
rules: [
{ allow: groups, groups: ["Admins"] }])
invokeLambda: String @function(name: "pythonLambda-${env}") 
invokeGetGroups: String @function(name: "getPatchGroups-${env}")
}

您可以在每个函数中使用@auth规则:

type Query {
invokeLambda: String
@function(name: "pythonLambda-${env}")
@auth(rules: [{allow: private, provider: userPools}])
invokeGetGroups: String
@function(name: "getPatchGroups-${env}")
@auth(rules: [{allow: groups, groups: ["Admins"]}])
}

我没有尝试过不同的认证规则,但是当我在学习AWS教程时,我确实尝试过在每个函数上使用相同的认证规则。

相关内容

  • 没有找到相关文章

最新更新