vendredi 20 septembre 2019

If logged with jwt-auth looks in controller Auth::user() is empty

In my Laravel 5.8/vuejs 2.6 app I use "tymon/jwt-auth": "^1.0.0", and my app/Http/Controllers/AuthController.php has method:

public function login(Request $request)
{
    $credentials = $request->only('email', 'password');
    if ($token = $this->guard('api')->attempt($credentials)) {
        return $this->respondWithToken($token);
    }

    return response()->json(['error' => 'Unauthorized'], 401);
}

and I keep token on client side. It works but I want to add more checks on the server's side, when I save data and to make in control's method :

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use Auth;
use DB;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\Validator;

use App\Settings;
use App\Http\Traits\funcsTrait;
use App\Forum;
use App\ForumCategory;
use App\ForumThread;
use App\ForumPost;
use Illuminate\Routing\Controller as BaseController;

use App\User;
use App\library\CheckValueType;

use App\Http\Requests\ForumThreadRequest;
use JavaScript;


class ForumController extends BaseController
{
    use funcsTrait;

    public function __construct()
    {
        $this->middleware('auth');
    }


    public function add_new_thread(ForumThreadRequest $request)
    {

        $loggedUser = Auth::user();

        if ( empty($loggedUser->id) ) {
            return response()->json(['error_code'=> 1, 'message'=> "You must be logged!", 'forumThreadRow'=>null],HTTP_RESPONSE_INTERNAL_SERVER_ERROR);
        }
        try {

But even if I have logged into the system it looks like that in add_new_thread method $loggedUser is empty. Have I to make some additive actions in login method of AuthController.php or in which way ?



from Newest questions tagged laravel-5 - Stack Overflow https://ift.tt/2V6tCxG
via IFTTT

Aucun commentaire:

Enregistrer un commentaire