Ho una chiamata API con dati post; diciamo che questa è la procedura di accesso.Laravel API TokenMismatchException
Con l'estensione del postino di Chrome mando, via posta, il nome utente e la password per accedere l'utente nella Ma ho ottenuto questo messaggio:.
Illuminate \ Session \ TokenMismatchException
Nel mio controller della base ho:
/**
* Initializer.
*
* @return void
*/
public function __construct() {
// CSRF Protection
$this->beforeFilter('csrf', array('on' => 'post'));
// Layouts/Notifications
$this->messageBag = new Illuminate\Support\MessageBag;
}
Quando elimino la riga con beforeFilter, tutto funziona correttamente. Ma questa non può essere una soluzione. Qualsiasi chiamata POST otterrebbe questo messaggio di errore. SO che ho bisogno di questo _token. Ma come ottengo questo token quando chiamo dall'API? So che posso creare un token in Laravel, ma come posso farlo quando chiamo da fuori tramite API?
Perché è necessario inviare il token attraverso come un parametro, come il filtro CSRF controllerà il campo _token dell'ingresso. Se non lo invii, questo controllo fallirà. –
ok. sry per la descrizione ambigua ... SO che ho bisogno di questo _token.Ma come ottengo questo token quando chiamo l'API? So che posso creare un token all'interno di laravel, ma come posso farlo quando chiamo da fuori tramite API? – goldlife
Generalmente le API vengono utilizzate per richieste cross-site. Quindi la tua protezione CSRF è inutile. È principalmente utilizzato per applicazioni e siti Web. Ma disabilitatelo al momento del login, e poi al login riuscito inviate all'utente il valore csrf_token chiamando l'helper 'csrf_token();' –