Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.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

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 AWS Cognito用于基于令牌的标准身份验证_Node.js_Amazon Web Services_Amazon Cognito - Fatal编程技术网

Node.js AWS Cognito用于基于令牌的标准身份验证

Node.js AWS Cognito用于基于令牌的标准身份验证,node.js,amazon-web-services,amazon-cognito,Node.js,Amazon Web Services,Amazon Cognito,我读过这个问题,但我的问题是关于AWS Cognito在2016年5月推出的用户池功能 所需用例: 我有一个Node.js后端和一个客户端web应用程序(Polymer),我想使用Cognito简化我的基于令牌的身份验证系统 我想使用这个库进行用户身份验证,方法是让他们在客户端注册和身份验证,并存储AWS提供给我的访问令牌,然后对Node.js后端的所有未来请求,在标头中发送访问令牌。我希望后端可以使用Cognito检查访问令牌是否与有效会话关联,如果是,则获取用户id。然而,我没有看到这样的方

我读过这个问题,但我的问题是关于AWS Cognito在2016年5月推出的用户池功能

所需用例:

我有一个Node.js后端和一个客户端web应用程序(Polymer),我想使用Cognito简化我的基于令牌的身份验证系统

我想使用这个库进行用户身份验证,方法是让他们在客户端注册和身份验证,并存储AWS提供给我的访问令牌,然后对Node.js后端的所有未来请求,在标头中发送访问令牌。我希望后端可以使用Cognito检查访问令牌是否与有效会话关联,如果是,则获取用户id。然而,我没有看到这样的方法来对照Cognito检查访问令牌

我有什么办法可以做到这一点吗

以下是我在代码中所设想的流程的一般概念:

//客户端
cognitoUser.authenticateUser(authenticationDetails{
onSuccess:函数(结果){
setCookie('access-token',result.getAccessToken().getJWT())
},
//客户
函数fetchData(){
请求(“/server/data”,
标题:{
令牌:getCookie('access-token')
})
}
//节点服务器
获取('/data',函数(req,res){
AWSCognito.validateAccessToken(req.headers.token)。然后(函数(userId){
//若用户id存在,这是一个有效的令牌。现在有了用户id,可以在数据库中查找它们
//做一些事情
}
})

如果您想验证用户的身份,您应该在后端验证Cognito颁发的id令牌。

如果您想验证用户的身份,您应该在后端验证Cognito颁发的id令牌。

通过“有效会话”您的意思是要检查用户当前是否已登录在另一台设备上登录?或者您只是想验证该用户是他所说的那个人?通过“有效会话”,您的意思是要检查该用户当前是否登录到另一台设备上?或者您只是想验证该用户是他所说的那个人吗?我已经在服务器端使用了一个Cognito访问令牌
AdminInitiateAuth
,并且我将其存储在会话cookie中。我假设我需要在每个后续请求中验证该令牌。我是否需要为每个请求调用Cognito,或者我是否可以在我的应用程序服务器端验证该令牌?我已经使用
AdminInitiateAuth
在Cognito访问令牌服务器端,并将其存储在会话cookie中。我假设需要在每个后续请求中验证该令牌。我是否需要为每个请求调用Cognito,或者我是否可以在我的应用服务器端验证该令牌?