Чтобы получить аутентификацию OAuth, вам нужно больше параметров в теле, кроме токена-носителя.
код работал отлично, когда драйвер был API. Затем я создал новый проект и сменил драйвер на паспорт.
Теперь я всегда получаю сообщение об ошибке: неавторизовано. Я могу подтвердить, что в заголовке запроса есть код токена авторизации в браузере.Пожалуйста, проверьте изображение ниже, щелкнув по нему и нажав на увеличение, чтобы увидеть изображение лучшего качества
Я что-то упустил в коде ниже? Пожалуйста, дайте мне знать, если вам нужно больше информации.
bootstrap.js
import Echo from 'laravel-echo'
window.Echo = new Echo({
broadcaster: 'socket.io',
host: window.location.hostname + ':6001',
auth: {
headers: {
Authorization: 'Bearer' + localStorage.getItem("token")
}
}
});
Код для отправки сообщения с использованием Web socket.io
var config = {
headers : {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + localStorage.getItem('token')
}
};
var request = {
"channel": "private-Send-Message-Channel." + message.Sent_To,
"name": "MessengerEvent",
"data": {
"msg": message
},
"socket_id": socketId
};
var url = "http://localhost:6001/apps/786d1c1c820025f4/events?auth_key=be1699f0101880f673fdff7ff203334f";
axios.post(url, JSON.stringify(request), this.config).then(response => {
//success callback
});
Когда запускается последняя строка кода (axios.post
), это дает 403,Несанкционированное исключение.
Я могу подтвердить, что токен присутствует в шапке.
Обновление - 1
У меня есть два примера проектов. Один с драйвером = API и другой с драйвером = паспорт. Когда я использую драйвер: API, это не проблема. Вышеуказанная проблема только с водителем = паспорт.