Доброго времени суток.
Имеется простейшее rest api на сервере(apache)
Такое же простое приложение на React.
Для авторизации при запросах используется Basic authorization
Файл .htaccess
Header set Access-Control-Allow-Origin "*"
AuthType Basic
AuthName "Access to the staging site"
AuthUserFile /var/www/restapi/.htpasswd
Require valid-user
Как правильно передать заголовки с параметрами авторизации?
Пробовал так:
const fetchData = async () => {
const { data } = await axios.get('http://restapi/api/product/read.php', {
auth: {
username: 'alex',
password: 'hello',
},
})
Не работает. И я не понял, как параметры должы кодироваться base64, возможно это происходит где то под капотом axios.
Пробовал создавать инстанс axios вот так, тоже не работает.
const instance = axios.create({})
const authInterceptor = (config) => {
config.headers.authorization = `Basic YWxleDpoZWxsbw==`
return config
}
export const getData = async () => {
const res = await instance.get('http://restapi/api/product/read.php')
console.log(res)
}
В последнем случаи вылетает ошибка cors, хотя cors настроен. И если на сервере отключить авторизацию, удалив соответсвующие строки в файле .htaccess, все работает.