Хранение и получение сеанса Laravel Passport Token в приложении React SPA - PullRequest
0 голосов
/ 12 мая 2019

Я хочу реализовать простое приложение SPA с API Passport Auth,

Я попытался localStorage (в js) хранить токен там, но он не безопасен. Поэтому я искал альтернативу.

кстати. Laravel 5.8 реагирует на 16,8

export const LogIn = formValues => async dispatch => {
    connect.post('auth/login', formValues).then(response => {
        return response;
      })
      .then(json => {
        if (json.status === 200) {
         // alert("Login Successful!");

          let userData = {
            email: formValues.email,
            auth_token: json.data.access_token,
            timestamp: new Date().toString()
          };

          let appState = {
            isLoggedIn: true,
            user: userData
          };

          // save app state with user date in local storage
          localStorage["appState"] = JSON.stringify(appState);

          return userData;

        } else alert("Login Failed!");

      })
      .catch(error => {
        let appState = {
          isLoggedIn: false,
          user: {}
        };

        localStorage["appState"] = JSON.stringify(appState);

        alert(`An Error Occured! ${error}`);
      });
};

Я могу войти и выйти из моего приложения. Только после обновления я теряю токены. Я потерян здесь уже 2 недели: (

1 Ответ

1 голос
/ 13 мая 2019

То, что вам нужно, это сохранить ваше аутентифицированное состояние.

Вы можете сделать это, создав поставщика контекста и получив доступ к значениям внутри вашего компонента (см. React Redux Connect API или проверьте React Context API )

...