So verwenden Sie eine tokenbasierte Knoten-API in eckigen js

Saurabh Sharma

Ich erstelle ein Token zur Anmeldezeit mit node.js:

apiRoutes.put('/login', function(req, res, next){
  User.findOne({email:req.body.email}, function(err, user){
    bcrypt.compare(req.body.password, user.password, function(err, result){
       if(result){
        var token=jwt.encode(user,config.secret); 
        return res.json({success: true, token:'JWT' +token});         
      }else{
        return res.json("Incorrect Email and Password")
      }
    })
  })
});

Jetzt versuche ich, die Benutzer-Dashboard-Seite mit der /dashboardRoute anzuzeigen, und mache Folgendes:

apiRoutes.get('/dashboard',function(req, res) {
  var token=getToken(req.headers); 
  if(token){
    var decode=jwt.decode(token, config.secret); 
    console.log(decode);
    User.findOne({name:decode.name}, function(err, user){
      if(err){res.json(err)}
        if(!user){
          return res.status(403).send({success:false, msg:'Authentication Failed'})
        }else{
          res.json({success:true, msg:'Welcome in the Area  ' +user.name+'!' })
        }
    })
  }else{
    return res.status(403).send({success:false, msg:'No Token Found'})
  } 
  });

 getToken = function (head) {
  if (head && head.authorization) { 
    var parted = head.authorization.split(' '); 
    if (parted.length == 2) {  
      return parted[1];
    } else {
      return null;
    }
  } else {
    return null;
  }
}; 

In postmanwenn ich traf /dashboardapi seine Arbeits gut. und Drucken der Ausgabe success:true, msg:'Welcome in the Area Admin; Aber wenn ich in Winkel js diese API verbrauche, dann ist die Ausgabe in der Knotenkonsole null. Unten ist meine Winkelfunktion, um API zu konsumieren

 app.controller('dashboardCtrl', function($scope, $http, $location, $routeParams){ 
        $http.get('/api/dashboard').success(function(res){
            $scope.result=res;  
        })
    })

Ich möchte wissen, wie man eine tokenbasierte Route im Winkel verwendet. Ich weiß, dass die oben angegebene Winkelfunktion nicht richtig ist. Bitte lassen Sie mich den richtigen Code wissen.

Vielen Dank

willie17

Sie haben den Header für das nicht gesetzt $http.get(). So sollten Sie vorgehen:

$http.get('/api/dashboard', {
  headers: {
    // Set header for the request here
    authorization: token
  }
})
.success(function(res) {
  // Success
});

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

So verwenden Sie die tokenbasierte Authentifizierung mit Axios und reagieren

So verwenden Sie Aufzählungen in eckigen 5

So verwenden Sie die Where-Funktion im Knoten js

Verwenden Sie Staubschablonen mit eckigen js

So schreiben Sie eine Knoten-js-Anfrage neu

So erstellen Sie eine JSON-Datei in Knoten JS

So führen Sie eine Forloop in Knoten js durch

Knoten JS: So öffnen Sie eine Route innerhalb einer anderen

So erhalten Sie eine Abfrage im Knoten js

So erstellen Sie eine benutzerdefinierte Protokollierung im Knoten js

So verwenden Sie AWS Comprehend Verwenden Sie den Knoten js von Lambda

So rufen Sie einen authentifizierten Benutzernamen in der Web-API ab (tokenbasierte Authentifizierung)

So wiederholen Sie ein Array in eckigen js

So teilen Sie die Saiten in eckigen js

Drucken Sie eine Matrix mit eckigen js

So aktualisieren Sie eine einzelne Zeile nach der Aktualisierung mit eckigen js

So verwenden Sie Benutzereingaben in Cluster (Knoten JavaScript)

So verwenden Sie Dropdown-Bootstrap in einem eckigen Projekt

Verwenden Sie eine Drittanbieter-Bibliothek in einer eckigen Fabrik

Verwenden Sie Office-UI-Fabric-Js in eckigen Js

Wie können Sie kendo-fileselect verwenden, um von einer eckigen App in eine C#-Web-API hochzuladen?

So verwenden Sie eine REST-API, die eine Authentifizierung mit Benutzername / Kennwort in node.js benötigt

Verwenden Sie jquery in eckigen js Funktion funktioniert nicht?

Verwenden Sie den Ausdruck als ng-Klasse in eckigen js

So verwenden Sie eine authentifizierte API mit Axios

So verwenden Sie eine API und zeigen Ergebnisse in einer Liste an

MVVM - So verwenden Sie eine bestimmte REST-API-dll

So verwenden Sie einen Zustand in einem Aufruf an eine API

So verwenden Sie den Knoten js util.promisify mit der Funktion writeFile fs und wait

TOP Liste

  1. 1

    Wie aktualisiere ich ein Feld in einer Raumdatenbank mit einem Repository und einem Ansichtsmodell?

  2. 2

    Wie füge ich mehrere Spalten in einer Spalte mit derselben Tabelle in SQL Server zusammen?

  3. 3

    Popup-Fenster oder mehrere Fenster mit PyQt5 / QtDesigner

  4. 4

    Gibt es eine sauberere Möglichkeit, Konstruktorargumente und Instanzeigenschaften einer Klasse in Typescript zu definieren?

  5. 5

    django-allauth Empfängersignal zum Hinzufügen einer Gruppenberechtigung zum Benutzer bei der Anmeldung

  6. 6

    Wie kann man Gitterquadrate dazu bringen, die Farbe zu ändern?

  7. 7

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  8. 8

    Scherz, wie man eine Funktion verspottet, die von einer verspotteten Funktion zurückgegeben wird

  9. 9

    Wählen Sie Geschwister vor einem Element aus

  10. 10

    Ändern Sie den Knotenpfad in das aktuelle Verzeichnis

  11. 11

    Ich kann nicht verstehen, wie man Go-Code in mehreren Dateien kompiliert

  12. 12

    Zählen Sie die Vorkommen jedes Werts in einem Tupel in Python

  13. 13

    Javascript wird nach dem AJAX-Aufruf nicht aktiviert, es sei denn, die Seite wurde aktualisiert

  14. 14

    Laden Sie das Bild perfekt in HTML Canvas

  15. 15

    CBCentralManager wird nach dem Verbinden neu gestartet

  16. 16

    So implementieren Sie Pushwoosh mit ionic 2

  17. 17

    Wie schiebe ich mein neues Element, ohne ein neues Mongoose-Element zu erstellen?

  18. 18

    Wie wird der Wert im Dropdown-Menü basierend auf den ausgewählten Daten / IDs angezeigt?

  19. 19

    Wie suche ich eine Zeichenfolge nach mehreren Zeichenfolgen und ersetze sie dann durch andere Zeichenfolgen? (Python)

  20. 20

    base js: Wie füge ich einem Objekt eine Eigenschaft auf die 'alte' Weise hinzu?

  21. 21

    Wie führe ich Junit-Tests über die Befehlszeile unter Windows ohne Paket aus?

heißlabel

Archiv