Ich habe Probleme, den derzeit authentifizierten Benutzer in Laravel 5.3 zu greifen. Genauer gesagt, mache ich eine HTTP-Anfrage an meine API-Datei, die die Route als api/test/create definiert hat.Laravel 5.3 Authentifizierungsproblem
Der Controller-Code:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Test;
class TestController extends Controller
{
public function store(Request $request) {
$this->validate($request, [
'test_name' => 'required',
'youtube_id' => 'required',
'is_live_test' => 'required',
]);
//Laravel 5.3 allows to get the user via request
$user = $request->user;
if($user) {
return 'We are logged in';
} else {
return 'We are not logged in';
}
return '';
}
}
Jedes Mal, es gibt 'Wir sind nicht angemeldet'. Um dies zu testen, habe ich {{Auth :: check()}} in meiner Blade-Datei referenziert, und das Ergebnis ist '1'. Ich bin mir nicht ganz sicher, warum der Controller nicht erkennt, dass der Benutzer angemeldet ist. irgendwelche Ideen?
Ich habe verschiedene Varianten der Referenzierung der Authentifizierung versucht, einschließlich des Importierens der Fassade und Auth :: check(), Auth :: user(), aber es bringt das gleiche Ergebnis unabhängig.
seine '$ request-> Benutzer()' und die Sie brauchen, um die Strecke zu stellen sicher, die 'auth' verwendet Middleware – Derek
Sollten die API-Routen die Auth-Middleware angewendet haben, obwohl? Oder gehört mein Aufruf in diesem Fall nicht zur API? – mdobrenko
die 'api' Middleware sollte' auth: api' – Derek