HttpClient Угловой CORS Twilio
Я пытаюсь выполнить запрос GET к API Twilio, используя HttpClient module
import { HttpClient } from '@angular/common/http';
Я использую
Angular CLI: 6.0.8
Node: 8.11.3
OS: darwin x64
Я тестирую с использованием Firefox и Chrome, получаю ту же ошибку
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://api.authy.com/protected/json/phones/verification/check?api_key=****. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
Это функция, которую я запускаю для тестирования
submitCode() {
let data = {
api_key: '',
verification_code: '',
phone_number: '',
country_code:''
}
let headers = {
'Access-Control-Allow-Origin' : '*',
'Content-Type' : 'application/json',
}
this.HTTP.get('http://api.authy.com/protected/json/phones/verification/check',{params: data,headers:headers}).subscribe(
resp=>{alert(1)},
err=>{alert(2)},
()=>{alert(3)}
)
}
Что происходит, что второе предупреждение срабатывает?
Я пытался использовать его без заголовков, та же проблема. Однако, когда я оставляю заголовки пустыми, API срабатывает, и это показывает мониторы Twilio, но данные не возвращаются из-за CORS.
1 ответ
Решил эту проблему, развернув бэкэнд-сервер и отправив на него запросы.
(Лучше, чем отправка с реального клиента и отображение вашего API-ключа в ваших запросах)
Другое решение заключается в использовании CORS-Anywhere
http://cors-anywhere.herokuapp.com/