2017-01-09 12 views
0

Я пытаюсь выполнить аутентификацию с помощью javascript через Zapier, но я не могу аутентифицироваться. Я использую следующий код:Аутентификация bigcommerce с использованием zapier и javascript

var auth = 'Basic **************'; 
var url = 'https://www.*****.com/api/v2/customers?email=mel****.com'; 


$.ajax({ 
    url : url, 
    method : 'GET', 
    dataType: "json", 
    contentType: "application/json; charset=utf-8", 
    async: false, 
    crossDomain: true, 
    beforeSend : function(req) { 
     req.setRequestHeader('Authorization', auth); 
    }, 
    success: function(result) { 
     alert('done'); 
     console.log(result); 
    }, 
    error: function (request, textStatus, errorThrown) { 
     console.log(request.responseText); 
     console.log(textStatus); 
     console.log(errorThrown); 
    } 
}); 

Однако я продолжаю получать ошибки 401 unauthenticated user. Я попытался запустить его с сайта https, но не могу заставить его работать. Любые указатели будут очень благодарны.

+0

Убедитесь, что вы используете http://techblog.constantcontact.com/software-development/using-cors-for-cross-domain-ajax-requests/. HTTPS должен быть на TLS 1.1 или выше. Мы стараемся избегать принятия запроса ajax на стороне клиента API, поскольку он не является безопасным способом хранения учетных данных API. – Alyss

+0

Ошибка говорит об ошибке 401, поэтому это ошибка аутентификации (недопустимые учетные данные), ничего больше. Действительно, запросы на стороне клиента небезопасны, так как каждый может получить ваши учетные данные API, просмотрев источник страницы; однако API BC не делает различий в источнике запроса и, безусловно, будет свободно принимать запросы ajax на стороне клиента. –

ответ

0

Вам необходимо, чтобы base64 закодировал ваши учетные данные username:password.

var auth = 'Basic ' +window.btoa('username:password');