Ich füge eine Auth-Ebene hinzu und ich denke, dass ich es bis auf ein kniffliges Detail herausgefunden habe. Meine Meteor-App hat keine Routen, aber ich habe einen Haken in die Verbindungs-Middleware eingefügt, so dass die "/" Fehler routen, wenn es kein richtiges API-Token gibt. Wenn das Token in Ordnung ist, rufe ich next()
an, um die Route zu Meteor weiterzuleiten.Pro-Anfrage-Sitzung im Meteorserver?
Das Problem ist, dass ich je nach Token serverseitige Parameter für die Verbindung festlegen muss, und ich weiß nicht, wie dies zu tun ist. Angenommen, ich habe eine statische Liste von API-Schlüsseln, die Berechtigungsebenen zugeordnet sind. Wenn ein Benutzer eine Anfrage mit "ADMIN_API_KEY" sendet, möchte ich Session.permission_level = "admin"
für die Nutzung durch die Meteor-Server-Funktionen setzen. Session
ist nur für den Kunden in Meteor, obwohl.
In Rails würde ich nur session[:permission_level] = "admin"
sagen. Aber so scheint es in Meteor nicht zu funktionieren.
Übrigens, ich benutze noch kein Routing-Paket in Meteor, obwohl das das einfacher machen würde als ich.
Das Problem ist, dass ich keinen angemeldeten Benutzer in diesem Stadium habe, so konnte ich keine gültige Benutzer-ID –
ich sehe. Ich bin mir nicht sicher, was der beste Weg ist, Dinge wie Session zu verwenden, die global aussehen, aber tatsächlich mit einem bestimmten Kontext verknüpft sind. Ich habe am Ende alle Parameter übergeben und Meteor als ein einfaches Knoten Backend in diesen Fällen verwendet – Guig
Blick in die Methoden zur Meteor sehe ich dort ist UID, die im Grunde ist Sessoon-ID –