这是一个问题,而不是我有问题,我做了以下代码尝试验证用户,
码
router.get('/opskins', (req, res) => {
var randomState = Math.random().toString(36).substr(2, 8),
auth = 'https://oauth.opskins.com/v1/authorize?client_id=8a890e2cb8ba&response_type=code&state='+randomState+'&scope=identity';
req.session.state = randomState;
res.redirect(auth);
});
router.get('/opskins/redirect', (req, res) => {
var query = req.query;
if(query.error){
res.send('There was an error trying to finish the authentication process. ('+query.error+')');
return;
}
res.send('Retrieved state: ' + query.state + ', Initiated state: ' + req.session.state);
});
在观看了一些关于会话的视频后,我仍然没有完全理解它,上面的代码是否会正常运行,因为不会干扰他人的会话?由于代码有效,但是他被重定向,然后用户被重定向回来,为什么状态仍然匹配? (一个状态是作为回调提供的,另一个是我从会话中获得的)
这不会干扰同时尝试登录的其他用户吗?
会话与使用cookie的给定浏览器会话相关联。
记住一个会话属于浏览器,该浏览器来自该浏览器的多个请求,而不是将它们与属于其他浏览器的会话混合在一起就是整个会话点。