我正在尝试使用基本身份验证访问REST API服务。
这完全可以作为卷曲请求:
curl -D- -X GET -H "Authorization: Basic eW**********0NQ==" -H "Content-Type: application/json" "https://api.domain.com/api/users/email/first.last@domain.com"
在角度方面,我尝试了这个并且它似乎不起作用,因为我得到501
错误...
var _url = "https://api.domain.com/api/users/email/first.last@domain.com";
var _authdata = Base64.encode('MyUsername' + ':' + 'MyPassword');
var _headers = {
'Authorization': 'Basic eWd***********0NQ==',
'Content-Type': 'application/json'
};
$http({
method: 'GET',
url: _url,
headers: _headers
}).then(function(request) {
console.log('request');
});
我试图理解为什么这样做不正常。 CORS不是问题...
有什么建议吗?
答案 0 :(得分:0)
使用javascript“btao”和“atob”或者你可以包含base64到npm
的angular-js无法理解Base64.encode可能以下代码snipet会帮助您。
var _url = "https://api.domain.com/api/users/email/first.last@domain.com";
var _authdata = btoa('MyUsername' + ':' + 'MyPassword');
var _headers = {
'Authorization': 'Basic' + _authdata,
'Content-Type': 'application/json'
};
$http({
method: 'GET',
url: _url,
json: true,
headers: _headers
}).then(function(request) {
console.log('request');
});
或者您可以使用npm包含agnular-base64依赖项: https://www.npmjs.com/package/angular-base64