首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何保护移动接入的AWS REST后端

如何保护移动接入的AWS REST后端
EN

Stack Overflow用户
提问于 2020-01-20 18:43:24
回答 2查看 328关注 0票数 1

我已经阅读了很多AWS放大器和认知文档,但似乎没有直接的方法来描述这一点。

我拥有的:

我用Swift编写了一个iOS应用程序,后端设置在一些lambda函数中。我能够以通常的方式访问REST端点(就像任何公共URL一样)。

因此,我没有在我的iOS代码中集成扩容或AWS。

我想要什么?

1)包括用户管理:允许用户注册/注册(这已经在我的后端,但我对使用认知开放)

2)保护我的后端API,使只有经过身份验证的用户才能通过移动应用程序.访问它(我可以从邮递员那里使用它来进行自己的开发)。

我所知道的:

我知道有OAuth 2 (PKCE)机制可用于从移动端进行安全API访问,而不需要客户端机密,但AWS没有明确说明使用哪些工具才能真正实现它。

我不介意使用认知(如果一切都好的话)或我自己的后端lambdas用于用户管理。唯一的问题是,解决方案必须能够保护我的REST。

的障碍:

看起来他们的文档是如此的零碎

  • 根本不讨论休息问题。GraphQL是,他们展示了一种很好的方法,如何使用GraphQL模型从快速代码中完成所有事情,但就我的目的而言,这太过分了。我想像世界上任何其他REST端点一样访问它,但是以一种安全的方式对我的移动应用程序进行限制。
  • AWS SDK放大SDK之间没有明确的区别(我从谷歌那里得到了一些提示,扩容在更高的层次上,抽象了许多选择,但没有具体的选择)
  • 关于AWS的文件是非常概念性的,但是没有包含任何如何处理这个特定用例的示例。
  • 我也看了一些很棒的Youtube视频,但是它们没有处理这个平台堆栈。

PS:不再有现成的文档链接。我已经经历过很多次了,除非他们中的任何一个直接处理我上面的问题,否则恐怕他们帮不上忙。

更新

我找到了一些不错的示例,介绍了科尼图如何在移动应用程序中处理令牌+用户管理。然而,在这些例子中,注册似乎仍然是在没有标记的情况下进行的。在应用程序包中公开池id等细节,并且假设任何人都可以使用SDK注册,则可以很容易地获得令牌。即使使用自定义lambda授权器,使用智能字符串解析器/摆弄器,也可以在app包中公开端点,并且非常有可能误用API。

这些示例可能没有使用PKCE (我的看法是它们使用SRP)。否则我就错过了关键的一步。

假设我使用AppAuth从认知端点获取令牌。如果我想使用认知用户if /密码对用户进行身份验证,这是否合理?

对于重定向URI,我也有一些困惑。是否必须在移动应用程序中重定向才能获得令牌(即使我没有使用像Google/Facebook这样的公开身份验证)?

EN

回答 2

Stack Overflow用户

发布于 2020-01-20 22:39:37

->用认知进行身份验证以获得认知标记。ID,Access,Refresh

->将令牌发送到Rest并对JWT令牌发送1执行验证。

此外:

->扩增Auth组件很好地用于登录/注册和管理令牌/会话。

然后,->使用任何HTTP库将请求发送到API。

如果->将成为(支持Lambda),那么您有更多的选择。放大器中的API组件将有助于发送请求,并且在API网关上有IAM/Custom / Cognito授权器选项,这些选项都是使用科尼托作为IDP时的有效选项。

1

票数 1
EN

Stack Overflow用户

发布于 2020-01-21 08:23:24

我一直采取的方向是基于标准的方法,而不是AWS特定的方法,因为您的目标是构建具有最佳未来选项的优秀UI和API。

我下面的教程为基础的博客链接不涵盖放大器,但我认为他们将与您相关。有了这种技术,就会有一个很好的学习曲线。

  • 下面是验证API中认知标记的我的一些代码
  • 我已经使用了演示Web和Mobile,它们使用认知令牌来调用API的云托管版本--您可以从此页中快速运行UI。

这个博客的索引页面有很多逐步的指南,比如解释Serverless API和在你的电脑上运行,尽管有些文章很长也很详细。

如果你发现其中任何一个有用的,那么可以随时发布任何后续问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59829219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档