javascript - 在angularjs中为这个HTTP GET添加HTTP基本认证

标签 javascript angularjs http http-get basic-authentication

我有一个生成 HTTP GET 的现有 angularjs 代码。下面摘录了 Controller 内部的一些相关代码。

    .controller('imptViewCtrl', ['$scope', '$http', 
        function ($scope, $http, ) {
                    var url = $configuration.webroot + '/impt/list?list=testlist';
                    $http.get(url).then(function (response) {
                               tableData = response.data;
                               });
        }]);

我想将 HTTP 基本身份验证添加到 HTTP GET。用户名是 foo,密码是 bar。如何做到这一点?

最佳答案

因为在基本认证中,用户名和密码是通过base64解码的。您需要先找到一个图书馆来做这项工作,以确保舒适。

https://github.com/ninjatronic/angular-base64

之后,将 base64 加载到您的应用和配置 header 中。

angular
    .module('myApp', ['base64'])
    .config(function($httpProvider, $base64) {
        var auth = $base64.encode("foo:bar");
        $httpProvider.defaults.headers.common['Authorization'] = 'Basic ' + auth;
    })

如果您愿意,您还可以单独提供身份验证 header 给 get 函数。

var auth = $base64.encode("foo:bar"), 
    headers = {"Authorization": "Basic " + auth};
$http.get(url, {headers: headers}).then(function (response) {

关于javascript - 在angularjs中为这个HTTP GET添加HTTP基本认证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34413732/

相关文章:

javascript - Chrome : Solving limited number of WebSockets (possibly with localStorage)

javascript - 如何调试 ng-click 在模态中不起作用?

ios - 我的问题是我无法在 ios 13 和 xcode 11 中发出任何网络请求

javascript - AngularJS:添加、删除和重新排序由数组控制的项目

angularjs - ngForm 是否创建新范围

java - sun.net.httpserver 写入流的字节太多

http - 通过http连接连接到smtp服务器

javascript - React抛出错误: Cannot read property 'map' of undefined

javascript - 功能未定义?

javascript - 是否可以使用 webdriver.js 观察 postMessages?