2017-04-03 18 views
0

Reactjs를 사용하고 있으며 Axios에서 Nexmo를 사용하여 SMS 요청을 보내려고합니다. SMS를받을 수는 있지만 콘솔에이 오류가 있습니다. 요청한 리소스에 'Access-Control-Allow-Origin'헤더가 없습니다. 따라서 'http://localhost:3000'은 액세스가 허용되지 않습니다.. 내 코드 :Reactjs - Axios - Nexmo POST 요청이 작동하지 않습니다. (No 'Access-Control-Allow-Origin')

axios({ 
    method : 'post', 
    url : 'https://rest.nexmo.com/sms/json', 
    params:{ 
    api_key:'xxxxxxxxx', 
    api_secret:'xxxxxxxxx', 
    to:phoneNumber, 
    from:'NEXMO', 
    text:"New message" 
    }, 
    headers:{ 
     'Content-Type': 'application/x-www-form-urlencoded' 
    } 
}) 
.then(function (response) { 
    console.log(response); 
}) 
.catch(function (error) { 
    console.log(error); 
}); 

이 문제를 해결하려면 어떻게해야합니까? Thx

+0

[ "No 'Access-Control-Allow-Origin'헤더가 요청한 리소스에 있음] (http://stackoverflow.com/questions/20035101/no-access-control-allow-origin- 헤더 - 현재 - - - - - 요청 - 자원 - 리소스) –

+0

@ Zoomzoom 나는 같은 상황에 직면하고있다 - 어떻게 해결 했습니까? – whodeee

답변

1

Nexmo SMS API는 신뢰할 수 있고 안전한 클라이언트에서만 상호 작용해야합니다. API 키와 비밀 인증서를 사용하면 Nexmo 계정에 대한 중요한 액세스 권한을 가지므로 해당 자격 증명을 응용 프로그램의 "사용자"에게 공개해서는 안됩니다. 이는 일반적으로 서버의 API로 키와 비밀 정보를 사용해야한다는 것을 의미합니다.

Nexmo Voice API는 매우 짧은 수명의 토큰을 만들고 토큰에서 허용하는 리소스와 기능을 제어 할 수 있으므로 클라이언트 측 API 상호 작용에 더 적합한 JWT 인증 지원을 제공합니다. 그러나 SMS API는 키와 비밀 인증 만 제공합니다.

+0

이 동일한 것을 구현하려고합니다. 이것을 위해 JWT를 사용하는 방법에 대해 안내해 주시겠습니까? – whodeee