2015-07-21 4 views
0

Я хочу, чтобы мое приложение отправило запрос на мой сервер и мне нужна базовая аутентификация. У меня следующий код:

myApp.factory('ApiRequest', ['$http', 'AccountService', function($http, AccountService) { 

var apiURL = 'https://web.appspot.com/_ah/api/server'; 
var apiVer = 'v1'; 
var url = apiURL + '/' + apiVer; 

return { 
    getMessages: function(time_offset) { 
     var encodedCredentials = AccountService.generateBase64Credentials(); 

     // $http.defaults.headers.common['Authorization'] = encodedCredentials; tried like this, but doesn't work too 
     return $http.get(
      url + '/message', { 
       headers: { 
        'Authorization': AccountService.generateBase64Credentials() 
       }, 
       params: { 
        recipient_id: '6305746161500160', 
        recipient_type: 'circle', 
        time_offset: time_offset ? time_offset : null 
       } 
      } 
     ) 
    } 
} 
}]); 

К сожалению, каждый раз, когда я получаю этот заголовок авторизации:

Basic W29iamVjdCBPYmplY3RdOltvYmplY3QgT2JqZWN0XQ== 

Моя функция AccountService.generateBase64Credentials вернуться строка: Basic window.btoa (Логин: пароль), так почему это делает работать таким образом? Как я могу заставить его работать должным образом

ответ

0

Ваш вход в кодировку Base64 неверен. Когда я декодировал строку, она возвращает «[object Object]: [object Object]» (исключая двойные кавычки). Сначала проверьте входную функцию "window.btoa".

+0

Я знал результат декодирования, но я не знал, что это может быть проблема. Спасибо! – SmiglowiecX

Смежные вопросы