Wir haben Front-End in AngularJS und Backend-APIs in NodeJs entwickelt. Wir verwenden Azure AD zur Authentifizierung. Frontend Angular verwendet die JavaScript-Bibliothek adal-angular für die azurblaue Authentifizierung. Wenn der Benutzer auf die Website kommt, wird er auf https://login.microsoftonline.com umgeleitet und bei erfolgreicher Authentifizierung wird er auf unsere Website weitergeleitet. So weit, ist es gut.
Ich muss Backend APIs mit passport-azure-ad Bibliothek schützen. Nur das Frontend ruft diese APIs auf. Es gibt zwei Strategien diese Bibliothek zur Verfügung mit
1> OAuth2Bearer Strategie
2> OIDCStrategy für Open ID ConnectPass-Azure-Ad: welche Strategie zu verwenden
ich standardmäßig unter Eindruck Azure AD war für die Authentifizierung OpenID Connect verwendet. Also plante ich OIDCStrategy verwenden Knoten Web-api als discussed here
jedoch in Fiedler Ich sehe die folgende Anfrage-Client (dh Winkel Frontend) macht zu schützen, wenn es Web-API
GET http://localhost:4030/api/getemployees HTTP/1.1
Host: localhost:4030
Connection: keep-alive
Accept: application/json, text/plain, */*
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOi………………………
Referer: http://localhost:4030/
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
Hinweis Authorization-Tag mit beginnt ruft "Bearer" also nehme ich an, Client sendet Bearer Token an den Server.
Q
1> Welche Strategie sollte ich hier verwenden?
2> Wann sollten wir eine über der anderen verwenden?
Das hat wirklich geholfen, die zu verwendende Strategie zu wählen. Allerdings verwendet "Pass-azure-ad" Bunyan. Ich verwende Visual Code für Entwicklung und Debugging. Meine Anwendung hört einfach auf zu starten, wenn ich über Visual Code laufe und das Problem war "Bunyan" und jemand, der bereits gepostet hat, stehe hier unter http://stackoverflow.com/questions/36089897/debugging-breaks-on-launch-with-bunyan- createlogger-node-v5-8 (Gibt es eine Umgehungslösung, ohne die Version von node.js zu aktualisieren? Ich verwende die Knotenversion 4.2.6) – LP13
Ich bin froh, dass es geholfen hat. Kannst du als Antwort abstimmen? Zur Problemumgehung können Sie den Logger einfach aus der app.js-Datei löschen, und dadurch sollte er verschwinden. Interessant über 4.2.6 und Streams. –
Danke !!. Es gibt keine Datei "app.js" im Knotenmodul "Pass-azure-ad". Es gibt die Datei oidcsetup.js, die die Logger-Instanz erstellt. aber wenn ich die Variable "log" lösche, dann wird das Modul fehlschlagen, egal wo das Modul die log.info() Methode benutzt. Beachten Sie, dass meine Anwendung Bunyan nicht verwendet, also habe ich keine Referenz in meiner Anwendung. Welche app.js-Datei hast du erwähnt? – LP13