• Как правильно на фронтенде хранить авторизованного пользователя?

    @aleps Автор вопроса
    Evgeny Kulakov, спасибо!
    и финальное, коль у Вас сегодня настроение на подробное объяснения иметься :)

    у меня SPA.
    Есть компонент header.vue и, например postList.vue и postPage.vue.
    Сам header статичный, а с роутингом меняется только отображена страниц postList и postPage.

    Так вот, переходя по страницам из postList в postPage я посылаю запросы на сервер за какими-то данными и в middleware на сервере каждый раз проверяю токен( все так?).
    Нужно ли при смене этих страниц постоянно запрашивать (обновлять) данные пользователя? (на фронтенде)
    Если да, то можно каждый раз через get, как вы сказали, запрашивать а в "прослойке" router.beforeEachсохранять их в во vuex.

    Где-то вычитал, что лишний get это лишнее обращение к серверу не хорошо каждый раз, и решил что можно в куках присылать данные пользователя. И сохранять в vuex .
    Типо сейчас так в "прослойке" beforeEach делаю - store.getters.doneTodos, а в store doneTodo вытягивает данные с кук- return state.count = Cookies.get('AuthToken_2') и таким образом при каждом переходе у меня оказываются новые (актуальные данные пользователя ) во vuex.

    но они не новые…, они предыдущие, т.к. куки обновляются с задержкой.
    Если делать в beforeEach запросом get, то такого происходить не должно, но лишний раз при каждом переходе дергаем сервер.
  • Как правильно на фронтенде хранить авторизованного пользователя?

    @aleps Автор вопроса
    Evgeny Kulakov, все классно спасибо!
    2. Метод profile - получает данные о пользователе, сохраняет их для дальнейшего использования (vuex, localstorage etc.)

    нужно ли при каждом переходе по роутам или обновлении странице обновлять эти данные? или ддостаточно один раз при авторизации принять и сохранить их на фронденде.

    я правильно сложил логику(?): из сервере я передаю эти данные в куках, потом на фронтенд сохраняю во vuex? (только это нужно делать при каждом обращении к серверу, обновлении страницы, например?)

    p.s. я помню правило, что на сервере с этими данными о пользователя не работаю, доверяю только токену и проверяю его.
  • Как правильно на фронтенде хранить авторизованного пользователя?

    @aleps Автор вопроса
    Evgeny Kulakov, поясните, пожалуйста, подробнее
    где и как их правильно хранить?

    при авторизации я же получаю данные о пользователи и вставляю их в токен и куки
  • Как правильно на фронтенде хранить авторизованного пользователя?

    @aleps Автор вопроса
    это при получении токена. получили, сохранили всё ок.
    а при посещении страниц на vue SPA,
    куки с пользовательскими данными "AuthToken_2" тоже каждый раз обновляю (т.е. на сервере разбираю сам токен и его тело отправляю в другом куки - AuthToken_2)
    так вот vue то берет куки AuthToken_2 с "запозданием на страницу".

    из Вашего сообщения я понял, что можно сразу из кук (AuthToken_2) получить пользовательские данные и сохранить его во vuex стор?

    Другой вопрос назрел:
    как следить за тем, что например пользователя забранили? - при каждом действий пользователя на сервере смотреть в бд и проверять или есть какой-то временной интервал "доверчивости"?
  • Как разбить массив на несколько по значениям ключей?

    @aleps Автор вопроса
    Артем, спасибо!
    а как отвязаться от description* ? ключей много с которыми нужно это проделать (description, title т. д. и т.п.).
  • Как правильно получить значение из нескольких многомерных массивов?

    @aleps Автор вопроса
    не смог сделать так, чтобы выводило только то, что мне нужно
    мне нужно, чтобы в результате episodes_count и episodes как бы были привязаны к season_number. т.е. зная season_number я знал остальное

    сделал так

    $iterator = $decode2[season_episodes_count];
        foreach($iterator as $key => $value) {
            echo $value[season_number] . '<br>';
            echo $value[episodes_count] . '<br>';
            foreach($value[episodes] as $key1 => $value1) {
                echo '<i style="font-size:9px;">' . $value1 . '</i><br>';
            }
        }


    Насколько это хорошее" решение?

    spoiler
    3
    11
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    
    1
    24
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    
    
    2
    25
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25