use*_*486 9 javascript http http-get basic-authentication angularjs
我有一个现有的angularjs代码,它可以生成HTTP GET.下面提取的是控制器内部的一些相关代码.
.controller('imptViewCtrl', ['$scope', '$http',
function ($scope, $http, ) {
var url = $configuration.webroot + '/impt/list?list=testlist';
$http.get(url).then(function (response) {
tableData = response.data;
});
}]);
Run Code Online (Sandbox Code Playgroud)
我想将HTTP基本身份验证添加到HTTP GET.用户名是foo,密码是bar.如何才能做到这一点?
use*_*801 22
因为在基本身份验证中,用户名和密码是由base64解码的.您需要先找一个图书馆来完成这项工作.
https://github.com/ninjatronic/angular-base64
之后,加载base64到您的应用程序和配置标头.
angular
.module('myApp', ['base64'])
.config(function($httpProvider, $base64) {
var auth = $base64.encode("foo:bar");
$httpProvider.defaults.headers.common['Authorization'] = 'Basic ' + auth;
})
Run Code Online (Sandbox Code Playgroud)
get如果您愿意,还可以提供认证标题以便单独运行.
var auth = $base64.encode("foo:bar"),
headers = {"Authorization": "Basic " + auth};
$http.get(url, {headers: headers}).then(function (response) {
Run Code Online (Sandbox Code Playgroud)
rya*_*ise 15
您可以使用以下命令,而不是使用库来编写基础64的auth;
window.btoa("user:pass")
大多数浏览器都支持它.
https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/btoa
| 归档时间: |
|
| 查看次数: |
32663 次 |
| 最近记录: |