В моем приложении Vue + Laravel SPA, когда я меняю Авторизацию заголовка запроса с "Basi c" на "Носитель", Chrome может отправлять http-запрос с заголовком "Носитель", но в Safari все еще использует «Basi c», хотя я изменил авторизацию в перехватчиках ax ios.
Почему они ведут себя по-разному? Как я могу это исправить? Любая помощь танков. * Подробности
.htaccess Основы c Настройки аутентификации. Всем запросам нужны учетные данные Basi c Auth, но Jwt.
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
Satisfy Any
AuthUserfile .htpasswd
AuthGroupfile /dev/null
AuthName "Enter your ID and PASSWORD"
AuthType Basic
require valid-user
SetEnvIf Authorization "(Bearer)" jwt_request
Order Deny,Allow
Deny from all
allow from env=jwt_request
<Files "service-worker.js">
Require all granted
</Files>
ax ios настройки для jwt
axios.interceptors.request.use(config => {
config.headers['X-Requested-With'] = 'XMLHttpRequest'
const token = store.getters['auth/token']
if (token) {
config.headers['Authorization'] = 'Bearer ' + token
}
return config
}
, когда я выполняю console.log (config), он показывает " Bearer + JWTtoken ", но когда я проверяю сетевую консоль Safari, она использует" Basi c "и завершается с ошибкой jwt 401 с сообщением" токен не предоставлен ".
Safari (13.1)