Yêu cầu thg 5 28, 2019 9:17 SA 757 0 1
  • 757 0 1
0

Auth::guard('api')->check() trong Laravel

Chia sẻ
  • 757 0 1

Em xin hỏi về vấn đề check user đăng nhập trong laravel Em có code đoạn login = vuejs và sử dụng jwt token Function Login của e Sau đó trong file blade em check như sau nhưng không hoạt động, có cách nào đồng bộ không ạ, em cảm ơn !!!

1 CÂU TRẢ LỜI


Đã trả lời thg 5 28, 2019 9:24 SA
Đã được chấp nhận
0

vì bạn sử dụng jwt nền cơ chế Auth không có tác dụng bạn nhé. Bạn vào app/Http/Kernel mình đoán bạn sử dụng routes/api.php thì ko có session đầy đủ như web.

protected $middlewareGroups = [
        'web' => [
            \App\Http\Middleware\EncryptCookies::class,
            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
            \Illuminate\Session\Middleware\StartSession::class,
            // \Illuminate\Session\Middleware\AuthenticateSession::class,
            \Illuminate\View\Middleware\ShareErrorsFromSession::class,
            \App\Http\Middleware\VerifyCsrfToken::class,
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
        ],

        'api' => [
            'throttle:60,1',
            'bindings',
        ],
    ];

bạn fix lại bằng cách ko sử dụng jwt nữa mà dùng đăng nhập truyền thống ban đầu. Hoặc bạn đưa controller xử lý đăng nhập sang routes/web.php

Chia sẻ
Avatar duongricky @duongricky
thg 5 28, 2019 9:35 SA

k dùng đăng nhập truyền thống được không bác, với em muốn làm api

Avatar WheeBoo @quanghung97
thg 5 28, 2019 9:40 SA

@duongricky cái này hoàn toàn có thể, bạn dùng jwt rồi thì vuejs của bạn phải lưu token ở cookie đồng thời cả vuex, mỗi request API đó đều cần Bear: 'key' để xác thực đã đăng nhập. key này tự động bị xóa khỏi cookie khi hết hạn.

Avatar duongricky @duongricky
thg 5 28, 2019 9:42 SA

@quanghung97 chi tiết chút được k bác, e chưa hiểu lắm

Avatar WheeBoo @quanghung97
thg 5 28, 2019 9:46 SA

@duongricky đầu tiên bạn gọi POST /api/login nó trả về token key: 'dsadsadsadsasdsadsadsadasdsadsadsa.dsa.dsa.dsa.dsa.ds.&sadsadsdsahjdkl' ví dụ vậy bạn lưu cái giá trị đó vào vuex và cookie cho nó ở client. sau đó ông gọi api GET /user/1 chẳng hạn bạn cần có quyền đăng nhập đơn giản gán cái header có Authenticate là Bear: 'dsadsadsadsasdsadsadsadasdsadsadsa.dsa.dsa.dsa.dsa.ds.&sadsadsdsahjdkl' thì sẽ lấy được dữ liệu

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí