我试图通过使用AWS Cognito、Api-Gateway和Lambda来实现电子商务应用程序后端。
要创建新项目,用户必须登录。创建项目后,记录的用户将成为项目的创建者。我已经创建了一个Item createendpoint,并为Apigatewayendpoint添加了Cognito JWT授权程序。
现在我需要实现项目更新终结点。相关的项目更新必须只允许项目的创建者使用。API可能是这样的。
/items/{item-id} PUT
body : { title, price... }
header { Authorization: Cognito-JWT-Token }
使用AWS生态系统实现此类功能的最佳方式是什么。或任何实现此类功能的最佳实践。
你会为每个用户ID项创建一个属性owner
。通常你会使用唯一ID标记的sub
声明。但是,出于各种原因,我不建议在cognito中使用subject值。如果有人删除了他们的帐户,并用同一封电子邮件创建了一个新帐户,你可以使用电子邮件来确保安全措施到位。
无论您选择什么,在处理程序中,将所有者与已验证的令牌声明进行比较。如果匹配就允许,如果不匹配就不允许。
我正在尝试将AWS Cognito(用户池)和AWS DynamoDB用于我的移动应用程序。 我做了以下工作: 在AWS Cognito上创建用户池。 在AWS Cognito上创建身份池,并将用户池ID、应用客户端ID设置为身份验证提供商上的Cognito。 在AWS DynamoDB上创建SampleTable. 设置权限验证角色以访问AWS IAM上的SampleTable。 我创建了以下代
有个关于 oauth2.0 的问题,我有一个 A公司的 app,里面嵌套一个 B公司 h5 页面,其中 h5 页面要用到A公司 app的用户信息,经过 oauth2.0 拿到App 的 access_token 后,理论上他能调用 A公司app 的全部接口(对于A公司后端来说就是一个普通的用户的token),这个可以预防吗,要怎么限制做到颁发给 A公司的 access_token 只能访问特定的接
通过使用“拒绝”策略并将其附加到具有身份池的角色,是否可以使用Cognito创建特定于用户的权限? 我有一个API,我想限制我的用户池中特定用户对某些endpoint的访问。我创建了以下策略: 然后,我将此策略附加到一个网络身份角色,并将此角色分配给我的用户池中的一个组。我将Cognito提供的身份令牌传递给Cognito授权程序,不幸的是,即使是该组中的用户也可以访问终结点。 有没有一种方法可以
我们正在尝试从C#Windows服务调用AWS API网关来执行后台作业。哪个应该触发API网关定期初始化请求? 我们使用RestSharp调用APIendpoint,该类称为AwsAuthenticator,它继承自RestSharp.Authenticators.IAAuthenticator。但当我们调用API Gateway时,收到的错误是“我们计算的请求签名与您提供的签名不匹配。请检查您
我使用Cognito用户池来保护我的API网关。现在我想使用邮递员向我的应用编程接口发出请求,但是我需要传递授权令牌,因为应用编程接口是安全的。是否有任何AWS CLI命令或REST API来生成授权令牌(通过传递用户名/密码)?我已经搜索了留档,但找不到任何例子。谢谢你的帮助。
我有一个使用Cognito用户池授权器的方法。我想从上下文中获取主体Id,并通过自定义头传递给集成endpoint。我试过语境。授权人。一无所有的原则。i、 e标题没有显示。如果我设置为“硬编码”,它将显示。其他上下文选项,比如appId,似乎是Cognito特有的。 本质上,我试图让API网关处理工作中的令牌验证部分。