• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Udostępnienie API post requestów bez logowania, CORS

Object Storage Arubacloud
0 głosów
208 wizyt
pytanie zadane 8 sierpnia 2019 w PHP przez kordix Gaduła (3,910 p.)
Cześć

Powiedzmy że mam API zrobione w Laravelu i stronę w Wordpressie. Chciałbym mieć dostęp do tego API.

JWT token z tego co widzę opiera się na sesji logowania, a ja chciałbym po prostu udostępnić API dla danej strony, bez żadnego logowania.

Ktoś z was borykał się z podobnym problemem?
1
komentarz 8 sierpnia 2019 przez BT101 Stary wyjadacz (12,540 p.)
Ale jakim problemem? Musisz odpowiednie headery dodać
komentarz 8 sierpnia 2019 przez kordix Gaduła (3,910 p.)

W Laravelu to się odbywa bodajże w tym kodzie

let token = document.head.querySelector('meta[name="csrf-token"]');

if (token) {
    window.axios.defaults.headers.common['X-CSRF-TOKEN'] = token.content;
} else {
    console.error('CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token');
}

Jednak sam csrf token jest generowany przez samego Laravela, a jak go uzyskać w zewnętrznej aplikacji?

komentarz 8 sierpnia 2019 przez kordix Gaduła (3,910 p.)
Dziwne, problem był prawdopodobnie z tym że odpalałem wszystko na localhost, jak mam stronę na domenie to nie krzyczy ani o CORS ani o CSRF. Też dziwne
komentarz 14 sierpnia 2019 przez kordix Gaduła (3,910 p.)
Dla potomnych: używajcie http://localhost zamiast localhost dla adresu api

1 odpowiedź

0 głosów
odpowiedź 10 sierpnia 2019 przez Wraith Gaduła (4,370 p.)

To proste. Stworz w laravel kontroler

MojController.php i w pliku zrob jakies sobie metody

w route web.php dodaj publiczny route bez middeleware auth 

// public 
Route::group(['prefix' => 'abc'], function () {
    Route::match(['get', 'post'], 'moja-metoda', 'MojController@mojaMetoda')->name('abc.mojaMetoda');
});

wejdz do katalogu Middleware i wpliku VerifyCsrfToken.php dodaj na dole. dzieki temu jak wyslesz cos POSTEM nie bedzie wymagane kod CRSF ja to uzywam do callback jak platnosci na stronie mam i callback idzie od nich to wlasnie tak robilem

   protected $except = [
        'abc/*',
    ];

teraz jak wywoalasz GET lub POST mojadomena.com/moja-metoda to dostaneisz zwrotke z tego co chcesz bez logowania

Podobne pytania

+1 głos
0 odpowiedzi 398 wizyt
pytanie zadane 29 kwietnia 2020 w JavaScript przez Rafixstan. Obywatel (1,070 p.)
0 głosów
1 odpowiedź 164 wizyt
pytanie zadane 7 stycznia 2020 w JavaScript przez saseta00 Użytkownik (700 p.)

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

61,936 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...