快速会话
Sessions in express
这更像是一个问题,而不是我有问题,我编写了以下代码来尝试对用户进行身份验证,
代码
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 与给定的浏览器会话相关联。
记住会话属于来自浏览器的多个请求之间的浏览器,并且不要将它们与属于其他浏览器的会话混淆是会话的全部要点。
这更像是一个问题,而不是我有问题,我编写了以下代码来尝试对用户进行身份验证,
代码
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 与给定的浏览器会话相关联。
记住会话属于来自浏览器的多个请求之间的浏览器,并且不要将它们与属于其他浏览器的会话混淆是会话的全部要点。