Add Http Basic Authentication To This Http Get In Angularjs
I have an existing angularjs code which makes a HTTP GET. Extracted below is some relevant code inside the controller. .controller('imptViewCtrl', ['$scope', '$http',
Solution 1:
Because in basic authentication, the username and password are decode by base64. You need to find a library to do this work for comfortable first.
https://github.com/ninjatronic/angular-base64
After that, load base64
into your app and config headers.
angular
.module('myApp', ['base64'])
.config(function($httpProvider, $base64) {
var auth = $base64.encode("foo:bar");
$httpProvider.defaults.headers.common['Authorization'] = 'Basic ' + auth;
})
You can also provide the authentication header to get
function seprately if you like.
var auth = $base64.encode("foo:bar"),
headers = {"Authorization": "Basic " + auth};
$http.get(url, {headers: headers}).then(function (response) {
Solution 2:
Rather than using a library to encode your auth by base 64, you could just use:
window.btoa("user:pass")
it's supported by most browsers.
https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/btoa
Post a Comment for "Add Http Basic Authentication To This Http Get In Angularjs"