Ich bin neu bei nodejs, allauth, etc. Ich habe einige Probleme mit jedem einzelnen. Wenn ich auf jedes Auth-Objekt zugreife, erhalte ich die Fehlermeldung "everyauth ist nicht definiert". Der oauth-Fluss selbst funktioniert jedoch gut mit everautaut. Hier sind die Details,
Einstiegspunkt - app.js
%Vor%home.jade
%Vor%Knotenmodule installiert,
%Vor%Bearbeiten - Hinzufügen des Beispiels, dem ich gefolgt bin,
Von jederauthen Website
Rendern Sie in der Hauptanwendungsdatei Ссылка die Ansicht mit
%Vor%Greifen Sie in der Ansichtsdatei auf das Objekt "allauth" zu - Ссылка
%Vor%Das everauth-Objekt wird hier nicht an die View übergeben, es sei denn, mir fehlt etwas.
Das ist eine alte Frage, aber ich hatte das gleiche Problem und war sehr frustriert zu sehen, dass ein anderer Entwickler genau das gleiche Problem hatte und die einzigen Antworten komplett weg waren.
Ich habe ein paar Stunden gebraucht, um meinen Code und die Beispiele zeilenweise zu vergleichen, aber schließlich habe ich es richtig verstanden:
Sie haben:
%Vor%sollte aber
sein %Vor% und das ist es.
Jetzt ist everyauth
in den Jade-Ansichten definiert und funktioniert wie erwartet.
Die folgende Lösung aus diesem LINK funktionierte sehr gut für mich -
Fügen Sie Ihrer app.js die folgenden Funktionen hinzu
%Vor%Und aktualisiere diese Zeile
%Vor%gefällt das -
%Vor%Ich hoffe, es hilft.
Das liegt daran, dass Sie versuchen, von der Jade-Vorlage aus auf jede Datei zuzugreifen. Obwohl Sie die Variable "allauth" an die Vorlage übergeben können, ist dies keine gute Übung.
Stattdessen sollte der if / else Block in Ihrem Controller bleiben. Dann können Sie eine andere Vorlage rendern, wenn der Benutzer sich anmeldet oder nicht.
So ähnlich
%Vor%