2016-04-22 16 views
7

Mam stronę internetową pod /, która wymaga uwierzytelnienia podstawowego. Pod serwerem REST API /api/* jest obsługiwany, który wymaga tokenu JWT przekazanego w nagłówku autoryzacji.Jak zapobiegać/zastępować nagłówek autoryzacji w Safari?

W Chrome działa dobrze: po załadowaniu strony prosi mnie o podstawowe dane uwierzytelniające, a następnie strona internetowa wysyła żądania AJAX do /api/* wraz z JWT w nagłówku Authorization.

W Safari jednak wszystkie żądania AJAX są wysyłane z nagłówka Authorization ustawionym na podstawowe poświadczeń i nie pozwala na ustalenie JWT w nagłówku Authorization ...

Czy istnieje obejście tej sytuacji?

ja ustawiania JWT dla żądań AJAX, takich jak ten:

$.ajaxSetup({ 
    headers: {'Authorization': accessToken} 
}); 

Odpowiedz

1

miałem ten problem i prawdopodobnie jest to błąd w Safari.

Żądanie od Safari:

enter image description here

Ten sam wniosek w Wireshark:

enter image description here

Rozwiązanie: nie używać podstawowy auth lub zmienić nazwę nagłówka zezwolenia (na przykład użycie X-My-Api-Auth).