我计划使用AWS Appsync迁移lambda函数中的graphQLendpoint,该函数由通过API网关的POST触发。我研究AppSync主要是因为订阅,我无法使用Lambda函数创建订阅。
我的身份验证机制基于Auth0,使用无密码,我的授权机制基于DynamoDB中几个表的数据,并嵌入到graphQL解析器中,这是Facebook和Apollo推荐的。
更重要的是,它基于请求的每一部分,其中包括检查调用查询/变异的权限,然后在触发相应的解析程序时检查查询中包含的不同实体。
据我所知,这在AWS AppSync中是不可能的,因为它强制使用Cognito。也许某种自定义授权程序(如API Gateway)可以完成这项工作,但它仍然不确定,因为它需要在图形QL请求解析期间执行多次(请记住,除了初始操作检查之外,每个嵌套对象执行一次)。
也许我可以使用通知和刷新查询来解决订阅问题,但我也必须研究一下。
还有谁有这个问题吗?你打算怎么做,或者已经解决了?
任何帮助都将不胜感激
卡洛斯
此时,AppSync支持使用正在查询的资源中的元数据进行AuthZ检查,或者您可以传递数据并在解析器中进行检查。例如,您可以将授权元数据存储在DynamoDB表上,并对其进行检查,然后返回数据,但不能检查单独的数据源。然而,由于AppSync仍然不是GA,未来将有更多的身份验证方法开放。
同时,一些选择:
>
使用Lambda作为解析器,并在读取/写入DynamoDB之前进行AuthZ检查
将Auth0标识与AWS IAM联合,并在冲突解决程序中使用这些凭据作为检查。AppSync支持这些凭据。
检查您通过的AuthZ检查解析器中的JWT声明。您可以使用Velforce语言中的$context.identity.claims.attrib
。
随着服务的发展,请在未来几个月继续查看AppSync文档页面,以获取更多选项。
编辑AppSync授权方案和用例的文档中现在有一个指南:https://docs.aws.amazon.com/appsync/latest/devguide/security-authorization-use-cases.html
编辑#2有一篇新的博文,介绍了如何将多个数据源与您的解析器一起用于高级授权场景:https://hackernoon.com/graphql-authorization-with-multiple-data-sources-using-aws-appsync-dfae2e350bf2
所以我不知道这是否真的描述了我的问题,但这是我能得到的最接近的吗? 我正在使用AWSAppsyncClient进行一些GraphQL突变。由于模型的性质,在更大程度上,由于我缺乏经验,我需要创建一个记录,然后创建两个依赖于第一个的记录,然后才能将它们链接到数据库中。 目前,我正在进行第一次变异,它返回所创建记录的ID。然后在查询返回的promise中创建中间记录。它基本上看起来像: 问题是Prom
本文向大家介绍oauth 授权码授予,包括了oauth 授权码授予的使用技巧和注意事项,需要的朋友参考一下 示例 第1步 第2步 资源
我想更好地理解隐式授权流和授权代码授权流之间的区别,因为我不确定我目前的理解是否正确。 隐式授权流主要由前端应用程序用于验证用户身份吗? 隐式授权流是否只需要一个client_id、用户名和密码来进行身份验证,换句话说,永远不会发送client_secret? 授权码只是一个短期令牌吗? 将授权码交换为访问令牌后,客户端可以访问用户帐户多长时间?具体地说,如果客户端是一个长时间运行的脚本,那么用户
授权是指验证用户是否允许做某件事的过程。Yii提供两种授权方法: 存取控制过滤器(ACF)和基于角色的存取控制(RBAC)。 存取控制过滤器 存取控制过滤器(ACF)是一种通过 yii\filters\AccessControl 类来实现的简单授权方法, 非常适用于仅需要简单的存取控制的应用。正如其名称所指,ACF 是一种动作过滤器 filter,可在控制器或者模块中使用。当一个用户请求一个动作时
可能是NAS不支持返回的AVP以限制带宽。 AVP的单位也可能不匹配。例如,计数器期望值为Kbit / s而不是bit / s。 为了提高速度,应使用Perl代替Bash。如果你使用perl模块,当FreeRADIUS启动时,Perl解释器和Perl脚本将被加载到内存中。 FreeRADIUS内部使用的其他属性应在字典文件中定义,该文件位于FreeRADIUS配置目录下。 内部属性列表称为控制列表
本书以 署名-非商业性使用-相同方式共享 发布 您可以自由: 复制、发行、展览、表演、放映、广播或通过信息网络传播本作品 创作演绎作品 惟须遵守下列条件: 署名 您必须按照作者或者许可人指定的方式对作品进行署名。 非商业性使用 您不得将本作品用于商业目的。 相同方式共享 如果您改变、转换本作品或者以本作品为基础进行创作,您只能采用与本协议相同的许可协议发布基于本作品的演绎作品。 对任何再使用或者发
The MIT License Copyright (c) 2010 - 2011 Fuel Development Team Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "S
对于授权码授予,密钥是否应该映射到每个单独的用户? 发送电子邮件时,发件人的电子邮件是什么? 谢谢 J Larry的其他信息: 这太棒了!。Docusign对库存流进行了积极监控!我正在使用JWT 我配置了一个用户。我假设电子邮件正文将类似于下面的一个。 我的问题是,如果使用密钥来识别应用程序,客户知道电子邮件是从应用程序发送的,但他如何知道使用应用程序的哪个员工发送电子邮件? 请参阅以下电子邮件