Ich authentifiziere einen Benutzer auf meiner App über Facebook. Währenddessen erhalte ich das Zugriffstoken und führe meine Validierung durch. Aber bald nach der Anmeldung muss ich meinem Benutzer eine Liste mit Freunden präsentieren. Problem ist, dass das Zugriffstoken bis dahin abgelaufen ist.Ich habe keinen Offline-Zugriff auf fb-Benutzer - sollte ich Freundesliste in Sitzung speichern? RoR, Devise, Omniauth & FBGraph
Da ich Devise, Omniauth und FBGHM Edelsteine verwende, wie könnte ich das durchführen?
Gedanken:
- einen neuen Zugriffstoken erhalten. Wie mache ich das? Müsste ich meinen omniauth_callbacks_controller ändern?
- Soll ich die Freundesliste in einer Sitzungsvariablen speichern?
Mein omniauth Controller:
def facebook
@user = User.find_for_facebook_oauth(request.env["omniauth.auth"], current_user)
if @user.persisted?
flash[:notice] = I18n.t "devise.omniauth_callbacks.success", :kind => "Facebook"
sign_in_and_redirect @user, :event => :authentication
else
session["devise.facebook_data"] = env["omniauth.auth"]
redirect_to new_user_registration_url
end
Zugriffstoken für 2 Stunden dauern sollte oder so. Sobald Sie einen bekommen, nehmen Sie es über das Linter-Tool und debuggen Sie es. Teilen Sie mit uns, wie lange es dauert. – DMCS