Я сделал аутентификационный API, созданный с помощью ruby на рельсах 5, и интерфейс js реагировать.Он работает, принимая электронную почту и пароль, и отправляя куки обратно в браузер.Однако, когда я пытаюсь сделать запрос, консоль выдает следующую ошибку:
Доступ к XMLHttpRequest по адресу http://localhost:3000/users/login' from origin 'http://localhost:3001' заблокирован политикой CORS: Ответчтобы предпечатный запрос не проходил проверку контроля доступа: значение заголовка «Access-Control-Allow-Credentials» в ответе равно «», которое должно быть «true», если режим учетных данных запроса «include».Режим учетных данных запросов, инициируемых XMLHttpRequest, управляется атрибутом withCredentials.
#react component - signin.js
axios(
`http://localhost:3000/users/login`, {
method: "post",
withCredentials: true,
data: {email: this.state.email, password: this.state.password}
})
.then(response => {
console.log(response)
})
.catch(error => console.log(error))
}
#rails login function
def login
#fetch user
user = User.find_by(email: params[:email].to_s.downcase)
#authenticate method
if user && user.authenticate(params[:password])
#disallow unconfirmed emails
if user.confirmed_at?
auth_token = JsonWebToken.encode({user_id: user.id})
##
cookies.signed[:jwt] = {value: auth_token, httponly: true}
render json: {auth_token: auth_token, email:user.email},
status: :ok
else
render json: {error: 'Email not verified' }, status:
:unauthorized
end
else
render json: {error: 'Invalid username / password'}, status:
:unauthorized
end
end