• Хранение сессии React, Firebase. Как организовать?

    RomReed
    @RomReed
    JavaScript, Flutter, ReactNative, Redux, Firebase
    вот авторизация из живого проекта

    const logInWithLoagInAndPassword = (login, password, organization, rememberMe) => {
        return dispatch => {
            return fetch(BASE_URL + '?username=' + login + '&password=' + password + '&customer=' + organization + '&remember=' + remember + '&login=Inloggen&ajax=1', {
                method: 'GET',
                headers: {
                    "Access-Control-Allow-Origin": "*"
                }
            }).then(response => {
                return response.json();
            }).then(json => {
                    if (rememberMe) {
                        localStorage.setItem('sessionid', json.sessionid)
                        localStorage.setItem('auth', JSON.stringify(json))
                    } else {
                        //clear localstorage
                    }
                    dispatch({type: AUTH_SUCCESS, payload: json})
                }
            )
    
    
                .catch(error => {
                    console.error('error', error)
                    dispatch({type: AUTH_ERROR, payload: error})
                });
        }
    }

    как видите мы после авторизации получаем ответ от сервера в котором есть id сессии который мы и ложим в  localstorage. Дальше при переходе человека на этот же сайт стоит проверка если есть в localstorage id сессии кидаем его на главную если нет то на авторизацию.
    Ответ написан
    4 комментария