2016-11-20 4 views
0

У меня встроенный AWS API Gateway с AWS Cognito User pool. Выполняется следующая команда curl.Ошибка авторизации с помощью AWS API Gateway

curl -X PUT -H "Authorization:<id token>" -d <json data> <https url> 

Однако авторизация не выполняется со следующим URL-адресом Angularjs $ http.put. AWS журналы cloudwatch показать «пользователь является несанкционированным»

$http.defaults.headers.common['Authorization'] = token 
$http.put('https://<url>', <json data>) 
    .then(function (data, status, headers, config) { 
     console.log('success') 
    }, function (data, status, headers, config) { 
     console.log('failure') 
    }); 

Как следует маркер авторизации можно установить с $ http.put?

ответ

0

Я думаю, что вы хотите установить заголовок для запроса в качестве второго аргумента в $http.put(<url>, options)....

Так что в вашем случае, ваш код должен выглядеть следующим образом:

var options = {headers: { 
         'Authorization': token, 
         'Content-Type': 'application/json' 
         } 
       }; 

$http.put('https://<url>', <json data>, options); 

Вы можете проверить documentation here, чтобы узнать больше о различных способах вызова на $http.X методы.

Надеюсь, это поможет.

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