【问题标题】:Secure REST API with Amazon Cognito使用 Amazon Cognito 保护 REST API
【发布时间】:2017-01-17 02:44:48
【问题描述】:

我正在尝试使用与 https://stormpath.com/blog/build-api-restify-stormpath 中所述类似的方法来保护 REST API,但使用的是 Amazon Cognito。

我希望用户能够注册我的服务,接收 API 密钥和秘密,并使用它们能够在代码中调用我的 API。不幸的是,我似乎无法弄清楚如何使用 Amazon Cognito 为用户提供永久 API 密钥和秘密。到目前为止,我发现的只是需要让用户登录、接收密钥、秘密和会话令牌,并且当该会话令牌过期时,再次让用户登录的方法。我想要的是通过永久 API 密钥和秘密对用户进行身份验证。是否可以在 Cognito 中执行此操作,如果可以,如何操作?

【问题讨论】:

  • 36 小时是认知会话令牌的最大超时时间。
  • 您有什么理由要从 Cognito 提供永久机密?

标签: amazon-web-services aws-api-gateway amazon-cognito


【解决方案1】:

创建“永久 API 密钥和机密”的用例是什么?

如果您需要授予对 API 的编程访问权限,您可能需要考虑使用 API Gateway API 密钥。

您仍然可以将 Cognito 用于用户注册/登录流程,但您需要实现一个为经过身份验证的用户创建 API 密钥的后端。您可以使用 API 网关 control plane API 来做到这一点

有关此想法的示例,请查看我们的open-source developer portal

【讨论】:

  • 所以你不建议使用 Cognito 来保护对另一个应用程序使用的 api 的访问?我可以肯定地说 Cognito 更多地用于用户身份验证,我应该使用 API 密钥来控制调用 api 的访问权限吗?
猜你喜欢
  • 2020-04-18
  • 2016-10-07
  • 2014-12-28
  • 1970-01-01
  • 1970-01-01
  • 2019-06-03
  • 2017-04-15
  • 2016-09-22
相关资源
最近更新 更多