2017-07-19 13 views
1

Ich verwende Laravel 5.4 und ich schrieb so etwas wie:Laravel 5.4 - Cookie Queue

 Cookie::queue(
     'refresh_token', 
     $data->refresh_token, 
     864000, // 10 days 
     null, 
     null, 
     false, 
     true // HttpOnly 
    ); 

    return response('hello world'); 

Die zurückgegebene Antwort enthält nicht die refresh_token Cookie während return response('hello world')->withCookie(...) tut.

In der Laravel 5.4-Dokumentation wird Warteschlangen-Cookie nicht mehr als 5.0-Dokument angegeben. Bedeutet das, dass die Funktionalität in Version 5.4 entfernt wurde oder habe ich einen Fehler in meinem Code gemacht?

Der Vollständigkeit halber verwende ich Dingo-API-Paket und die Antwort wird in Handarbeit gemacht.

Vielen Dank für Ihre Hilfe.

Antwort

7

Ich fand, dass:

Cookie-Warteschlangen für api-Anfragen nicht aktiviert ist, ist dies der Grund, warum es nicht funktioniert hat.

ich in der Middleware-Teil der entsprechenden Datei hinzuzufügen:

\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,

die entsprechende Datei entweder App/HTTP/Kernel.php (mit Laravel API) oder app/config/api. php

+0

Sie haben mein Leben gerettet :) – Ali

+0

Spektakuläre Antwort! –