Cara refresh JWT Token Laravel 5.3

Hai, saya ingin bertanya mengenai kelas "Membuat API dengan laravel", disini saya agak kebingungan saat ingin merefresh token baru, saya melakukan generate token dengan jquery pada saat login lalu menyimpannya di cookies, masalahnya setelah saya delay dalam waktu 1 - 2 jam, lalu saya refresh, maka token tidak berguna lagi.

Disini saya sudah mencoba menambahkan middleware "jwt.refresh" tapi tetap token tidak ter refresh. Mohon bantuannya.

Trims.

avatar satmaxt
@satmaxt

46 Kontribusi 23 Poin

Diperbarui 5 tahun yang lalu

2 Jawaban:

Coba baca jawaban kylestev disiini https://github.com/tymondesigns/jwt-auth/issues/186 Pertanyannya mau refresh token setiap request? atau? coba tampilkan kode bagian namahin jwt.refresh nya,

avatar hilmanski
@hilmanski

2686 Kontribusi 2135 Poin

Dipost 7 tahun yang lalu

Saya mau refresh token apabila telah mencapai waktu expired,

ini file api saya

Route::post('/signin', 'Api\UserController@authenticate');

Route::group(['middleware'=> ['before'=>'jwt.auth','after'=>'jwt.refresh']]], function() {
    Route::post('user-create', 'Api\TeamController@store');
    Route::get('user-table', 'Api\TeamController@table');
    Route::delete('user-delete/{id}', 'Api\TeamController@destroy')->name('api.user-delete');
});

ini bagian signin nya mas

public function authenticate(Request $request)
    {
        // grab credentials from the request
        $credentials = $request->only('username', 'password');

        try {
            // attempt to verify the credentials and create a token for the user
            if ($this->hasTooManyLoginAttempts($request)) {
                $this->fireLockoutEvent($request);
                $secondsLeft = $this->limiter()->availableIn($this->throttleKey($request));
                return response()->json(['error' => 'Too many logins attemps. wait for '.$secondsLeft.' seconds'], 400);
            }

            if (! $token = JWTAuth::attempt($credentials)) {
                $this->incrementLoginAttempts($request);
                return response()->json(['error' => 'Wrong credentials, please check again'], 401);
            }
        } catch (JWTException $e) {
            // something went wrong whilst attempting to encode the token
            $this->incrementLoginAttempts($request);
            return response()->json(['error' => 'could_not_create_token'], 500);
        }

        // all good so return the token
        return response()->json(compact('token'));
    }

Mohon maaf baru bisa reply sekarang

avatar satmaxt
@satmaxt

46 Kontribusi 23 Poin

Dipost 7 tahun yang lalu

Login untuk ikut Jawaban