Проблема, с которой я сталкиваюсь, заключается в том, что сервер при проверке с помощью Postman возвращает куки, и эти куки должны быть возвращены в браузер для завершения процесса доступа. fetch()
API в React handleSubmit
не возвращает куки, следовательно, не удается получить доступ. Я проследил за тем, что здесь есть - Fetch API с Cook ie
Но с нижеприведенным handleSubmit
Я вижу ошибки
Note
: без credentials: 'include'
У меня все хорошо, я могу войти без ошибок, но все равно я не получаю те файлы cookie, которые мне нужны, независимо от
const handleSubmit = (event) => {
if (event) {
event.preventDefault()
var proxyUrl = 'https://cors-anywhere.herokuapp.com/',
targetUrl = 'https://appxyz.herokuapp.com/login'
fetch ( proxyUrl+targetUrl, {
credentials: 'include',
method: 'POST',
headers: {
'content-Type': 'application/json',
'Accept' : 'application/json',
},
body: JSON.stringify(values)
})
.then(response => {
return response.text().then(text => {
console.log(text)
console.log('Logged In..')
})
})
.then((values) => {
console.log('Success:')
})
.catch((error) => {
console.error('Error:', error)
})
callback()
}
}
Ошибки
Access to fetch at 'https://cors-anywhere.herokuapp.com/https://appxyz.herokuapp.com/login' from origin 'http://localhost:3000' has been blocked by CORS policy:
Response to preflight request doesn't pass access control check:
The value of the 'Access-Control-Allow-Origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'.
Редактировать
- Если это имеет значение, я попытался проверить, получаю ли я файлы cookie в Chrome dev tools, но я не с сервера, он пуст
- Если я попытаюсь проверить его в Почтальоне, он пройдет, и я смогу увидеть куки