如何解决在AWS API Gateway上设置身份验证,以提供对多应用程序和多客户端的访问权限
我们的团队正在计划针对将基于AWS API Gateway构建的基于Web的应用程序设计REST API,而我们在如何围绕其最佳设置身份验证方面有些困惑。
我们是面试应聘者的SAAS应用程序,其想法是创建一个API,该API将允许多个ATS(申请人跟踪系统)与其集成。 这些ATS中的每一个将有多个客户端,而每个客户端将有多个用户。
我们已经查看了API网关随附的一些选项,而我们更喜欢的是涉及使用Cognito进行身份验证的选项,因为它消除了编码我们的代码时必须解决的许多复杂性。自己的授权过程。
我们提出了两种选择,我想从安全和维护的角度以及如果还有更好的选择的角度,得出哪种选择更好的看法。
选项1 。在Cognito上,将每个客户端设置为应用客户端。每个客户端都有自己的一组身份验证令牌。
- PRO:
- 易于设置和实施
- 缺点:
- 可能很难维护
- 难以识别哪个客户端属于哪个ATS
选项2。在Cognito上,将每个ATS设置为App Client,然后在AWS API Gateway上为每个客户端设置API密钥。
- PRO:
- 对ATS和客户端的验证更可靠。首先验证试图消耗我们的API的ATS(以确保它是允许的集成系统),然后再验证客户端。
- 缺点:
- 要设置的多件事
- 需要检查多个令牌
- 需要更长的时间来实现
我还应该提到,在此阶段,我们试图避免进行用户身份验证,因为大多数操作将在应用程序到应用程序级别进行,因此不会有太多的用户交互,并且我们无法让某人进入身份验证表单上的用户凭据。
开发团队在2个选项上分为1/2和1/2,所以我想从那里更有经验的程序员那里获得意见。
这是我在stackoverflow上的第一篇文章,如果问题的描述不够好,我深表歉意。
谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。