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 bekommen Anforderung für eine riesige Json-Datei
  • Änderungsformat von md-datepicker in Winkelmaterial
  • AngularJS: Ng-Wiederholung in Gruppen von n Elementen
  • Warum ist die Funktion in der Winkel-DI-Inline-Annotation ein Array-Element?
  • Wie man die Komponentenbindungsänderung mit der Winkelkomponente beobachtet
  • Wie man "private" Funktionen in einem Winkeldienst mit Karma und Jasmin testet
  • Brise mit Winkel $ http Abfangjäger
  • Kann nicht die Eigenschaft '$ render' von undefined setzen
  • Umgang mit ng-Klick und ng-dblclick auf dem gleichen Element mit AngularJS
  • Wie man Funktion mit Parametern mit $ timeout in AngularJS ausführt?
  • Ist es möglich, eine Wildcard für $ httpBackend Antworten zu setzen?
  • Angular.js ng-style wird nicht den Wert binden
  • 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.