32 Stimmen

Aktualisieren Sie das Token unter Verwendung von Omniauth-oauth2 in der Rails-Anwendung

Ich benutze omniauth-oauth2 in Rails, um mich bei einer Website zu authentifizieren, die oauth2 unterstützt. Nachdem ich den OAuth-Tanz durchgeführt habe, gibt mir die Website Folgendes, das ich dann in die Datenbank speichere:

  1. Zugriffstoken
  2. Ablaufdatum (Ticks)
  3. Refresh-Token

Gibt es eine omniauth-Methode, um das Token automatisch zu erneuern, nachdem es abgelaufen ist, oder sollte ich benutzerdefinierten Code schreiben, um dies zu tun?

Wenn benutzerdefinierter Code geschrieben werden soll, ist ein Helper der richtige Ort, um die Logik zu schreiben?

0voto

radalin Punkte 560

Wenn Sie Devise verwenden, können Sie meiner Meinung nach so auf folgende Weise eine neue Strategie erstellen, damit Sie nicht überall Client-ID und Secret wiederholen müssen:

# Das erste Argument ist etwas namens app, aber ich bin mir nicht sicher, was gemeint ist, aber nil scheint in Ordnung zu sein.
Strategies::MyStrategy.new(nil, *Devise.omniauth_configs[:mystrategy].args)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X