Ich erstelle eine einfache API mit der Rails-API und möchte sicherstellen, dass ich hier auf dem richtigen Weg bin. Ich verwende devise, um Anmeldungen zu verarbeiten, und habe mich für die token_authenticatable
Option von Devise entschieden, mit der ein API-Schlüssel generiert wird, den Sie bei jeder Anforderung senden müssen.
Ich kopple die API mit einem Backbone / Marionetten-Frontend und frage mich im Allgemeinen, wie ich mit Sitzungen umgehen soll. Mein erster Gedanke war, den API-Schlüssel nur im lokalen Speicher oder in einem Cookie zu speichern und beim Laden der Seite abzurufen, aber etwas über das Speichern des API-Schlüssels auf diese Weise störte mich aus Sicherheitsgründen. Wäre es nicht einfach, den API-Schlüssel zu erhalten, indem Sie entweder im lokalen Speicher / im Cookie nachsehen oder eine durchgehende Anfrage abhören und ihn verwenden, um sich als Benutzer auf unbestimmte Zeit auszugeben? Ich setze derzeit den API-Schlüssel bei jeder Anmeldung zurück, aber selbst das scheint häufig zu sein - jedes Mal, wenn Sie sich auf einem Gerät anmelden, bedeutet dies, dass Sie bei jedem anderen abgemeldet sind, was eine Art Schmerz ist. Wenn ich diesen Reset fallen lassen könnte, würde er sich unter dem Gesichtspunkt der Benutzerfreundlichkeit verbessern.
Ich kann mich hier völlig irren (und hoffe, dass ich es bin). Kann jemand erklären, ob die Authentifizierung auf diese Weise zuverlässig sicher ist, und wenn nicht, was wäre eine gute Alternative? Insgesamt suche ich nach einer Möglichkeit, wie Benutzer sicher beim API-Zugriff angemeldet bleiben können, ohne häufig eine erneute Authentifizierung zu erzwingen.