AngularJS中的HTTP基本身份验证

时间:2018-08-08 21:50:20

标签: javascript angularjs http basic-authentication

我正在尝试在AngularJS中调用API。 API具有HTTP Basic Authenticationusername = adminpassword = admin123

这就是我调用API的方式

$http.get('https://example.com', {
    headers: {'Authorization': 'Basic YWRtaW46YWRtaW4xMjM='}
}).then(console.log("something"));

但是,它给了我401 UnAuthorized的回复。推荐的传递用户名和密码的方法是什么?我正在使用AngularJS 1

显示错误,

OPTIONS https://example.com 401 ()

Failed to load https://example.com: Response for preflight has invalid HTTP status code 401.

Possibly unhandled rejection: {"data":null,"status":-1,"config":{"method":"GET","transformRequest":[null],"transformResponse":[null],"jsonpCallbackParam":"callback","headers":{"Authorization":"Basic YWRtaW46YWRtaW4xMjM=","Accept":"application/json, text/plain, */*"},"url":"https://example.com"},"statusText":"","xhrStatus":"error"}

1 个答案:

答案 0 :(得分:0)

如果您的所有请求都需要使用授权标头,则可能需要在更全局的级别上进行设置。您可以通过添加

.config(['$httpProvider', function($httpProvider) {
    $httpProvider.defaults.headers.common['Authorization'] = '<Basic Auth Header>';
}]);

在您的应用程序配置中。要回答您的实际问题,我看不到您提供的代码有什么特别的错误。您能否提供一些有关服务器端期望以及它如何读取授权的信息?