我已将AWS API Gateway与AWS Cognito用户池集成。以下curl命令有效。
curl -X PUT -H "Authorization:<id token>" -d <json data> <https 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 :(得分: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
方法的不同方法的详情。
我希望这会有所帮助。