В настоящее время я пытаюсь настроить свое приложение для реагирования и подключить его к моей серверной части. Я использую JWT для создания веб-токенов, которые затем сохраняю через cookieparser.
Сервер работает: http://localhost: 3000 / Клиент работает: http://127.0.0.1: 8080 / client / public /
Теперь я пытаюсь сделать почтовый запрос от клиента (реагировать) и пытаюсь сохранить токен (cook ie) в браузере, но он не работает. Он постоянно сохраняет повар ie в домене localhost: 3000, а не в домене, где запущен клиент . Ниже соответствующий код для бэкэнда и внешнего интерфейса:
**// This is the cors setup for Express**
app.use(cors({ origin: 'http://127.0.0.1:8080', credentials: true }))
**// This is the request router API for creating the user and the cookie (and sending it to the browser)**
router.post('/api/users', async (req, res) => {
const user = new User(req.body)
try {
await user.save()
const token = await user.generateAuthToken()
res.cookie('auth_token', token, { httpOnly: false, sameSite: 'none' })
res.set('Content-Type', 'application/json')
res.send(token)
} catch (e) {
res.status(400).send('Did not work')
}
})
**// This is the request from the client with Axios:**
axios.post('http://localhost:3000/api/users', {
name: this.state.userName,
email: this.state.userEmail,
password: this.state.userPassword,
}, {
withCredentials: true,
credentials: 'include'
})
.then( (response) => {
const data = response
console.log(data)
})
.catch( () => {
console.log('Cant access backend')
})
this.setState({
userName: '',
userEmail: '',
userPassword: ''
})
}
Изображения:
Настройка cors
это маршрутизатор api: Маршрутизатор API для создания пользователя и отправки его в БД
это клиентский (внешний) запрос Отправить запрос на регистрацию пользователя с помощью ax ios
Заранее большое спасибо за помощь :)