Ist das token_authenticatable von devise sicher?

Ich baue eine einfache API mitRails API, und möchte sicherstellen, dass ich hier auf dem richtigen Weg bin. Ich benutze devise, um Logins zu verarbeiten, und habe mich für devise entschiedentoken_authenticatable Diese Option generiert einen API-Schlüssel, den Sie bei jeder Anforderung senden müssen.

Ich verbinde die API mit einem Backbone- / Marionetten-Frontend und überlege im Allgemeinen, wie ich mit Sitzungen umgehen soll. Mein erster Gedanke war, den API-Schlüssel einfach in einem lokalen Speicher oder in einem Cookie zu speichern und beim Laden der Seite abzurufen, aber das Speichern des API-Schlüssels auf diese Weise hat mich aus Sicherheitsgründen gestört. Wäre es nicht einfach, den API-Schlüssel zu finden, indem Sie entweder im lokalen Speicher oder im Cookie nachschauen oder eine durchlaufene Anfrage abfangen und sich damit für einen unbegrenzten Zeitraum als dieser Benutzer ausgeben? Ich setze momentan bei jedem Login den API-Schlüssel zurück, aber selbst das scheint häufig zu sein - jedes Mal, wenn Sie sich auf einem beliebigen Gerät anmelden, bedeutet dies, dass Sie bei jedem anderen Gerät abgemeldet werden, was eine Art Schmerz ist. Wenn ich diesen Reset fallen lassen könnte, würde er sich meiner Meinung nach vom Standpunkt der Benutzerfreundlichkeit aus verbessern.

Ich kann mich hier völlig irren (und hoffe es), kann jemand erklären, ob die Authentifizierung auf diese Weise zuverlässig und sicher ist, und wenn nicht, was eine gute Alternative wäre? Insgesamt bin ich auf der Suche nach einer Möglichkeit, Benutzer beim API-Zugriff sicher "angemeldet" zu halten, ohne häufig eine erneute Authentifizierung zu erzwingen.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage