Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js cognitoidentityserviceprovider.getUser()是如何工作的?_Node.js_Amazon Web Services_Amazon Cognito - Fatal编程技术网

Node.js cognitoidentityserviceprovider.getUser()是如何工作的?

Node.js cognitoidentityserviceprovider.getUser()是如何工作的?,node.js,amazon-web-services,amazon-cognito,Node.js,Amazon Web Services,Amazon Cognito,我的问题是关于AWS Cognito SDK的。我的前端使用amplify/cognito对用户进行身份验证,并将标头中的令牌发送到我的后端 我已成功使用cognitoidentityserviceprovider.getUser()在我的后端nodejs应用程序上获取用户属性,但没有任何权限 我使用的是一个在API上只有S3和SES权限的受限用户,但我只是感到惊讶,getUser()调用只是在没有任何授权的情况下解码JWT令牌?如果是这样的话,任何人都可以使用aws sdk解码我的jwt令牌中

我的问题是关于AWS Cognito SDK的。我的前端使用amplify/cognito对用户进行身份验证,并将标头中的令牌发送到我的后端

我已成功使用cognitoidentityserviceprovider.getUser()在我的后端nodejs应用程序上获取用户属性,但没有任何权限

我使用的是一个在API上只有S3和SES权限的受限用户,但我只是感到惊讶,getUser()调用只是在没有任何授权的情况下解码JWT令牌?如果是这样的话,任何人都可以使用aws sdk解码我的jwt令牌中的所有用户属性吗

我还完全在后端删除了API密钥,只是为了看看,它仍然能够成功地获取用户对象。这不是安全风险吗

代码:


任何人都可以解码令牌,即使没有SDK,也有很多类似的在线工具。但是,除非有秘密,否则没有人可以伪造或创建它。任何人都可以解码令牌,即使没有SDK,也有很多在线工具,如。但是,在没有秘密之前,没有人能伪造或创造它。
   const aws = require('aws-sdk');
   var provider =  new aws.CognitoIdentityServiceProvider();
   const user = await provider.getUser( {AccessToken: jwtToken}).promise();
   return user;