Сессии в экспресс - PullRequest
       21

Сессии в экспресс

0 голосов
/ 30 августа 2018

Это скорее вопрос, чем проблема, я сделал следующий код, пытаясь аутентифицировать пользователя,

код

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

после просмотра некоторых видео на сессиях, которые я до сих пор не совсем понял, будет ли приведенный выше код работать правильно, как если бы он не мешал кому-либо еще на его сессии? Поскольку код работает, но он перенаправляется, а затем пользователь перенаправляется обратно, почему это состояние все еще совпадает? (одно состояние предоставляется как обратный вызов, а другое - из сеанса)

Не помешает ли это другим пользователям, пытающимся войти в систему одновременно?

1 Ответ

0 голосов
/ 30 августа 2018

Сессии связаны с данным сеансом браузера с использованием файлов cookie.

Помнить, что сеанс принадлежит браузеру между несколькими запросами от этого браузера, и не смешивать их с сеансами, принадлежащими другому браузеру, - вот и весь смысл сеансов.

...