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/

Другие вопросы по тегам