是否可以获取在运行时AppSync在解析器中执行的方法的名称?

时间:2019-08-09 01:16:48

标签: aws-appsync

我有一个由 auth-service + business-service 组成的AppSync PIPELINE。

我已经在 auth-service 中实现了RBAC,因此根据用户的操作和角色,它允许或拒绝执行 bussiness-service

我需要将GraphQL Mutation或Query字段(从客户端调用的方法)映射到操作(例如,如果用户尝试执行Mutation: addUser ,这就是操作)。

是否可以在运行时在解析器中获取客户端执行的方法? (例如 addUser deletePost )。为了不必为每个查询和变异实施不同的身份验证服务?

1 个答案:

答案 0 :(得分:0)

类似的情况,这就是我正在做的:

  • 映射之前-将身份/声明从Cognito等保存到存储中。
  • 功能请求-检查存储是否存在未经授权的$ util.error,否则 将操作名称和操作数详细信息存储在存储区中 继续。
  • 功能响应-执行任何其他筛选或所有权检查 响应时,如果未授权,则返回$ util.error / early。
  • 映射后-响应或传递的最终转换。

基本上,我觉得向通用管道身份验证功能公开有关实体的深入知识是一个坏主意,我对实体的解析器功能了解允许/不允许的内容感到更加自在。