我有一些不同的服务(由Serverless Framework生成),它们需要在彼此之间进行通信。数据是敏感的,需要身份验证。
我的当前策略是使用json令牌为每个服务之间的通信创建一个api密钥,如下所示。
fM61kaav8l3y_aLC/3ZZF7nlQGyYJsZVpLLiux5d84UnAoHOqLPu4dw3W7MiGwPiyN服务之间的通信还有哪些其他选项?这种做法有什么坏处吗?要重申的是,需要对请求进行身份验证,并适当处理敏感数据。
发布于 2017-03-25 23:49:04
发布于 2017-03-26 05:08:32
据我所知,您打算使给定服务中的各种功能成为私有功能。在这样做时,每个服务都可能有类似于以下内容的serverless.yml文件:图像显示了与无服务器框架rest一起使用的api键的设置。
虽然这是一种合适的方法,但它不如使用**自定义授权器**。
自定义授权器允许您在目标AWS Lambda函数之前运行AWS Lambda函数。这对于微服务体系结构很有用,或者当您只想在运行业务逻辑之前做一些授权时。
如果您在使用onEnter时熟悉ReactRouter函数,那么自定义授权器之间的逻辑是相似的。
关于实现,由于利用不同的服务来部署不同的功能,请考虑将该函数部署到AWS,并注意Lambda函数的ARN。按照这些链接查看自定义授权程序的适当设置。
当授权器不是服务的一部分,而是部署在lambda上时,这些映像显示了用于使用自定义授权器的serverless.yml文件。
下面的github项目aws-node-auth0-custom-authorizers-api/frontend是一个很好的例子,说明了当授权程序功能与私有函数处于同一服务中时,如何实现自定义授权器。注意,您的情况略有不同,但是您应该期望它们的授权程序功能逻辑是简单的--只有项目结构应该不同。
https://stackoverflow.com/questions/43018630
复制相似问题