【问题标题】:Sessions in express快速会话
【发布时间】:2018-08-30 23:36:50
【问题描述】:

这更像是一个问题,而不是我有问题,我制作了以下代码来尝试对用户进行身份验证,

代码

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);
});

看了一些关于会话的视频后,我仍然不完全明白,上面的代码是否可以正常运行,因为不会干扰其他人的会话?由于代码有效,但他被重定向,然后用户被重定向回来,为什么仍然状态仍然匹配? (一种状态作为回调提供,另一种我从会话中获得)

这不会干扰其他尝试同时登录的用户吗?

【问题讨论】:

    标签: javascript node.js express express-session


    【解决方案1】:

    会话使用 cookie 与给定的浏览器会话相关联。

    在来自该浏览器的多个请求之间记住一个会话属于该浏览器,而不是将它们与属于其他浏览器的会话混在一起是会话的全部意义。

    【讨论】:

      猜你喜欢
      • 2018-02-12
      • 2019-12-29
      • 2012-09-27
      • 2016-07-06
      • 2018-07-21
      • 2016-08-08
      • 2018-08-04
      • 2020-09-07
      • 2012-12-11
      相关资源
      最近更新 更多