Facebook Omniahuth + Carrierwave Profilbild

7

Ich habe eine Anwendung, mit der Benutzer Devise + Omniauth den Benutzern erlauben, sich über Facebook anzumelden. Ich verwende Carrierwave auch, um den Nutzern zu ermöglichen, ihr eigenes Profilbild hochzuladen und das von Facebook angeforderte Bild zu verarbeiten. Daher habe ich folgende Funktionen im Controller und im Benutzermodell:

user.rb

%Vor%

omniauth_callbacks_controller.rb

%Vor%

Leider laufe ich immer wieder in diesen Fehler:

%Vor%

Wo Zeile 68 user = User.create!(params[:user])

ist

Das Protokollieren von params[:user] enthält die folgenden Werte:

%Vor%

Ich möchte etwas Hilfe, um diesen Fehler zu umgehen.

    
John Thomas Raphael Dulay 06.04.2014, 20:53
quelle

3 Antworten

28

Ich hatte das gleiche Problem. Es scheint, dass das Problem http war, das auf https umgeleitet wurde. Also habe ich sie wie folgt mit gsub ersetzt:

%Vor%     
Sandeep Laxman 02.05.2014 06:29
quelle
14

Die omniauth-facebook-Strategie hat eine Option, die Bild-URL in eine sichere Ссылка URL zu ändern.

  

secure_image_url: Setzen Sie diese Einstellung auf "true", um https für die Avatar-Bild-URL zu verwenden   zurückgegeben im Auth-Hash.

Zum Beispiel wird das Bild mit einer sicheren URL in devise.rb oder omniauth.rb auf diese Weise angefordert:

provider :facebook, 'secrets', 'secrets', :secure_image_url => true

Ссылка

    
Acuña 17.02.2015 05:58
quelle
0

Ich stimme der Antwort Sandeep Laxman zu, das Problem ist http muss durch https ersetzt werden, da es sich um ein sicheres Bild von Facebook handelt, können wir gsub #ref ruby-doc

%Vor%

oder verwenden Sie sub

%Vor%     
Zainal 20.06.2015 15:24
quelle