我是AWS放大器的新成员,我正在尝试制作简单的项目。
我有两个不同的前端(react)项目。其中一个是博客读者,另一个是编辑。对于这两个应用程序,我希望使用相同的DynamoDB表(并使用graphqlapi)。但是我想为每个项目使用不同的用户池。我如何实现这一点?
我在读这篇文章-https://medium.com/@fullstackpho/aws-amplify-multi-auth-graphql-public-read-and-authenticated-create-update-delete-1bf5443b0ad1
我知道AWS AppSync支持多种授权类型,如认知、应用编程接口密钥...但是它支持两种认知类型吗?
谢谢
根据AWS文档,您可以使用两个不同的Cognito组访问相同的AppSync API,通过以下方式访问相同的DynamoDB表,这些方式非常简单;
如果使用aws_auth
指令
type Query {
getPosts:[Post!]!
@aws_auth(cognito_groups: ["Bloggers", "Readers"])
}
如果使用aws_cognito_user_pools
指令
type Query {
getPosts:[Post!]!
@aws_api_key @aws_cognito_user_pools(cognito_groups: ["Bloggers", "Readers"])
}
现在,如果您特别希望为同一个API和DynamoDB表使用两个不同的用户池,那么您需要多做一点工作来实现这一点。以下是步骤:
@aws\u cognito\u user\u pools
指令处理模式中的查询和变异以及这些查询和变异试图访问的对象
$ctx时。身份cognitoIdentityPoolId
在查询/变异解析器中,它将抛出null。因为cognitoIdentityPoolId
仅包括在AWS_IAM
授权头中,而不包括在AWS_COGNITO_用户池中。但是,您仍然可以从$ctx中的iss
字段获取用户池ID。身份声明
,它看起来像https://cognito-idp.us-xxxx-x.amazonaws.com/us-xxxx-X_XxxXxxXX
。这us-xxxx-X_XxxXxxXX
是您的用户池ID,您必须以某种方式对其进行解析
解析用户池ID后,您可以根据Cognoto池ID筛选用户,然后授予他们对所需表的访问权
有人知道我们是否可以增加1000s用户池的限制吗?
我试图使用Cognito用户池控制台创建一个用户(我正在设置用户名和临时密码的值),但我一直收到这个错误。 属性不符合架构:生日:数字不能超过10个字符(服务:AWSCognitoIdentityProviderService;状态代码:400;错误代码:InvalidParameterException;请求ID:98f3de9e-5ce3-11e7-98e8-9d0c69d31df9) 使用无
我们的设置是: 创建电子邮件/密码帐户或登录Facebook 我能够创建两个成功独立于彼此与AWS Cognito。 我想解决的问题是,如果用户先有一个电子邮件/密码帐户,然后单击Facebook登录,我希望他们链接并提示用户确认他们有权访问该电子邮件/密码帐户。 一旦用户确认以后,他们应该能够登录Facebook或通过电子邮件/密码登录来访问和调整相同的帐户。 Facebook用户在Cognit
我正在为已经使用AWS Cognito用户池的Angular2应用程序实现Facebook身份验证。 使用ngx-facebook(https://github.com/zyra/ngx-facebook),我已经设法使用Facebook和Cognito身份池验证了自己: 但现在:我如何将Facebook用户与现有的用户池集成? 登录和注册用户池的功能已经到位,最佳解决方案显然是为脸谱网用户使用现
我刚刚开始和AWS一起工作,学习AWS。我正在使用AWS移动中心的服务,到目前为止已经设置了登录 一切正常,现在我正在处理忘记密码和更新密码。 问题是,AWS设置忘记密码的方式是: 首先输入用户名,然后在用户输入用户名后,AWS通过SMS向与该用户名关联的电话号码发送验证码。 这是一个问题,因为这意味着任何人都可以输入任何用户名,并会发送一条短信,导致我的短信付款增加,老实说,这看起来很草率。 我
我目前正在原型化一个由AWS物联网支持的应用程序,允许用户控制他们的设备。 我的想法是使用AWS Cognito对用户进行身份验证,并通过IAM角色限制对该用户拥有的特定设备(主题)的访问。 我可以看到,您可以将角色分配给一组用户,这将非常好,但允许的组数上限非常低(25)。 我是错过了一个技巧,还是这是对认知的限制?如果是这样,处理这种情况的最佳方法是什么? 提前谢谢。