我已阅读此问题AWS Cognito for API token authentication,但我的问题是关于AWS Cognito于2016年5月推出的用户池功能。
所需用例:
我有一个Node.js后端和一个客户端Web应用程序(Polymer),并希望使用Cognito来简化基于令牌的身份验证系统。
我想使用这个库进行用户身份验证,方法是让它们在客户端上注册和验证,并存储AWS提供给我的访问令牌,然后是对Node.js后端的所有未来请求,在头文件中发送访问令牌。我希望后端可以使用Cognito检查访问令牌是否与有效会话相关联,如果是,则获取用户ID。但是,我没有看到针对Cognito检查访问令牌的方法。
我有什么方法可以做到这一点吗?
以下是我在代码中设想的流程的一般概念:
// client
cognitoUser.authenticateUser(authenticationDetails, {
onSuccess: function (result) {
setCookie('access-token', result.getAccessToken().getJWT())
},
// client
function fetchData() {
ajax.request('/server/data',
headers: {
token: getCookie('access-token')
})
}
// node server
get('/data', function(req, res) {
AWSCognito.validateAccessToken(req.headers.token).then(function(userId) {
// if user id exists, this is a valid token. now have user id, can look them up in database
// and do stuff
}
})
答案 0 :(得分:0)
如果您想验证用户的身份,您应该只在后端验证Cognito发出的ID令牌。