Почему Laravel Session возвращает null?

Я вызываю конечную точку API Laravel http://localhost:8000/api/adduser из компонента Vue Js. Предполагается, что конечная точка устанавливает значение, например токен для сеанса, которое я извлечу позже. Конечная точка вызывается успешно, однако сеанс не установлен. Код моей конечной точки:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Auth;

use App\User;
use Hash;
use Session;

class UserController extends Controller
{
    public function adduser(Request $request) {

        $user = User::where( 'sub', $request->sub )->first();

        if (!$user) {

            $user = new User();

            $user->nickname = $request->nickname;
            $user->name = $request->name;
            $user->sub = $request->sub;
            $user->api_token = $request->api_token;

            $user->save();

        }

        $user->api_token = $request->api_token;
        $user->save();
        //setting session here
        session(['info' => 'hello world']);
        Session::save();

        return response()
            ->json([
                'done' => $user->api_token
            ]);

    }
}

Компонент Vue Js, который вызывает конечную точку:

<template>
  <div class = "callback">Callback</div>
</template>

<script>
import axios from 'axios'
import Flash from '@/helpers/flash'

export default {
  name: 'callback',

  mounted() {
    this.$auth.handleAuthentication().then((data) => {
      //this.$router.push({ name: 'home' })

      let form = {nickname: this.$auth.user.nickname, 
                  name: this.$auth.user.name, 
                  sub: this.$auth.user.sub, 
                  api_token: this.$auth.api_token}

      Flash.setSuccess('You have successfully signed in.')

      axios({
            method: 'post',
            url: 'http://localhost:8000/api/adduser',
            data: form
        }).then((res) => {

            if (res.data) {       

                window.location.href = "/";
                }

            })
            .catch((err) => {
                if (err.response.status === 422) {
                    this.error = err.response.data.errors
                    console.info(this.error)
                }


            });


    })
  }
}
</script>

Чтобы проверить, был ли установлен сеанс, я попытался получить данные сеанса из файла welcome.blade.php, например, dd{{session('info'}}, но это возвращает ноль. Что мне здесь не хватает?

$ request-> session () -> put ('информация', 'привет мир'); использовать для хранения сеанса

Sachin Aghera 26.10.2018 15:14

Я пробовал это, теперь получаю ошибку message: "Session store not set on request."

Caleb Oki 26.10.2018 15:30

Убедитесь, что вы используете группу промежуточного программного обеспечения web для своих запросов или, по крайней мере, включите в вопрос свои маршруты.

kofoworola 26.10.2018 15:33

Я использовал группу промежуточного программного обеспечения web в моем файле маршрутов, например, Route::get('/', function () { return view('welcome') })->middleware('web');, но я все еще получаю ту же ошибку

Caleb Oki 26.10.2018 15:38

Попробуйте это - dd {{Session :: get ('info')}} в welcome.blade.php

Dmitry 13.11.2019 13:20
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
5
879
0

Другие вопросы по теме