Immer wenn ich versuche, eine Route von meiner api.php
Datei zuzuordnen bekomme ich einen 401: Unauthenticated
-Error.Laravel 5.4 + Ajax entspricht 401 Nicht authentifiziert
Dies ist die Route:
Route::group(['prefix' => 'v1', 'middleware' => 'auth:api'], function() {
Route::post('admin/product-image-sort', '[email protected]')->name('api.save-product-image-sort');
});
Im Aufruf dieses mit JQuery Ajax:
<script>
$('#sortable-image-container').sortable({
items: '> .row > *',
update: function (event, ui) {
var data = $(this).sortable('serialize');
console.log(data);
$.ajax({
data: data,
type: 'POST',
url: "{{ route('api.save-product-image-sort') }}",
success: function (data) {
if(data == "success"){
$.notify({
icon: 'pe-7s-close-circle',
message: "Sucessfully saved the Image Sorting"
},{
type: 'success',
timer: 500
});
}
}
});
}
});
</script>
das funktioniert so makellos, wenn der 'middleware' => 'auth:api'
Teil ohne aber ich will nicht nur erlauben, meinen Zugriff interne API ohne jegliche Form der Authentifizierung.
Was die API tut, ist ein Array von IDs senden, die es mit einer Serialisierung von jQuery Ui's Sortierbar bekommen. Der ApiController forscht dann durch und aktualisiert die Sortierung jedes Bildes eines bestimmten Produktes.
ich die CSRF-Token enthalten haben mag in der Laravel Docs angegeben durch csrf_token()
in einen Meta-Tag setzen und es zu jeder Ajax-Anfrage Befestigung:
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
Wie ich auch in Chrome Registerkarte Netzwerk sehen kann, ist dass es der Anfrage zwei Cookies hinzufügt.
hallo hast du noch eine Lösung gefunden? – utdev
@utdev Leider nicht. Hast du in der Zwischenzeit? Danke im Voraus. – PoTTii
Entweder Authentifizierungsdetails bereitstellen (Token) oder die Middleware entfernen? –