Fügen Sie HTTP grundlegende Authentifizierung zu diesem HTTP GET in angularjs hinzu

Ich habe einen vorhandenen Winkelcode, der einen HTTP GET macht. Im Folgenden ist ein bestimmter Code innerhalb des Controllers extrahiert.

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

Ich möchte HTTP Basic Authentifizierung zum HTTP GET hinzufügen. Der Benutzername ist foo und das Passwort ist bar . Wie kann man das machen?

  • AngularJS - $ http erhalten Rückkehr Fehler mit Status 0?
  • Holen Sie sich die Zwischenablage
  • 2 Solutions collect form web for “Fügen Sie HTTP grundlegende Authentifizierung zu diesem HTTP GET in angularjs hinzu”

    Denn bei der Grundauthentifizierung werden der Benutzername und das Passwort von base64 decodiert. Sie müssen eine Bibliothek finden, um diese Arbeit für bequeme zuerst zu tun.

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

    Danach lade base64 in deine App- und config-Header.

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

    Sie können auch die Authentifizierung Header, get Funktion seprately, wenn Sie möchten.

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

    Anstatt eine Bibliothek zu benutzen, um dein auth von base 64 zu codieren, kannst du einfach benutzen:

    window.btoa("user:pass")

    Es wird von den meisten Browsern unterstützt.

    https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/btoa

    Lassen Sie uns Javascript Schönheit und nützlich machen.