为什么Laravel Session返回null?

时间:2018-10-26 13:09:46

标签: php laravel laravel-5 vuejs2 vue-component

我正在从Vue Js组件调用Laravel api端点http://localhost:8000/api/adduser。假设端点设置了一个值,例如会话令牌,我稍后会获取。成功调用了端点,但是未设置会话。我端点的代码是

<?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.log(this.error)
                }


            });


    })
  }
}
</script>

要测试是否设置了会话,我尝试从welcome.blade.php文件中检索会话数据,就像dd{{session('info'}}一样,但这返回null。我在这里想念什么?

0 个答案:

没有答案
相关问题