快速会话

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 与给定的浏览器会话相关联。

记住会话属于来自浏览器的多个请求之间的浏览器,并且不要将它们与属于其他浏览器的会话混淆是会话的全部要点。