Asked May 28th, 9:17 AM 86 0 1
  • 86 0 1
0

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

Share
  • 86 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 ANSWERS


Answered May 28th, 9:24 AM
Accepted
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

Share
duongricky @duongricky
May 28th, 9:35 AM

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

0
| Reply
Share
May 28th, 9:40 AM

@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.

0
| Reply
Share
duongricky @duongricky
May 28th, 9:42 AM

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

0
| Reply
Share
May 28th, 9:46 AM

@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

0
| Reply
Share