EC2和RDS身份验证



我有一个运行node.js Express后端的EC2实例,该后端将CRUD操作控制到RDS实例。我正在做一个移动应用程序客户端(我正在通过Cognito使用客户端SDK对用户进行身份验证(。对我的移动应用程序用户进行身份验证的最佳方法是什么,以便只有身份验证的用户才能访问我的Node.js Express在EC2中运行的功能?基本上要寻找类似IAM Lambda身份验证(但对于此服务器应用程序,而不是无服务器体系结构(。

是对我的移动应用程序用户进行身份验证的最佳方法,以便只有身份验证的用户才能访问我的node.js express函数在EC2

中运行

用cognito进行身份验证,您将能够获得访问令牌(ID代币和访问令牌(,一旦用户进行身份验证。

用户经过身份验证后,将由移动客户端获取令牌,请参见https://docs.aws.amazon.com/cognitoidentity/latest/latest/apireference/api_getopenidtoken.html。该令牌可以沿每个请求发送到Nodejs服务。请注意,令牌有一个有效期的时间,客户需要在令牌过期时获得另一个。

令牌包含用户身份,发行人,到期时间和(cognito(用户组

服务必须根据验证验证令牌(发行人,有效期,签名(并信任令牌(或不信任(。

验证示例:https://github.com/kjur/jsrsasign/wiki/wiki/tutorial-for-jwt-verification(在此示例中,从证书中读取公共密钥。Amazon仅提供公共密钥属性(e,n(https://aws.amazon.com/premiumsupport/knowledge-center/decode-decode-verify-cognito-json-token/,因此您必须自己完成公共密钥,示例https://github.com/rzcoder/node-rsa

编辑:更详细的澄清

最新更新