【问题标题】:Can't save google profile image无法保存谷歌个人资料图片
【发布时间】:2019-08-18 16:30:54
【问题描述】:

我正在努力通过 Google 进行身份验证。我完全可以获取 Google 身份验证信息,但无法保存个人资料图片。 Carrierwave 可以工作,我也可以找到谷歌图片网址。但我无法保存...

我遇到了这个错误。

NoMethodError: undefined method `[]' for nil:NilClass
from /Users/xxx/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/carrierwave-2.0.0/lib/carrierwave/downloader/remote_file.rb:28:in `filename_from_header'

apps/models/user.rb

def self.find_for_google_oauth(auth)
  where(provider: auth.provider, uid: auth.uid).first_or_create do |user|
    binding.pry
    user.email = auth.info.email
    user.password = Devise.friendly_token[0,20]
    user.username = auth.info.name
    user.remote_image_url = auth.info.image
    user.confirmed_at = Time.now.utc
  end
end

config/initializers/devise.rb

config.omniauth :google_oauth2,
  Rails.application.credentials.google[:client_id],
  Rails.application.credentials.google[:client_secret],
  skip_jwt: true,
  scope: 'email profile',
  redirect_uri: "#{Rails.application.credentials[Rails.env.to_sym][:host_domain]}/users/auth/google_oauth2/callback"

【问题讨论】:

    标签: ruby-on-rails ruby google-oauth


    【解决方案1】:

    我在carrierwave(1.3.1)的版本下通过了。

    【讨论】:

      猜你喜欢
      • 2020-01-23
      • 2020-01-05
      • 1970-01-01
      • 1970-01-01
      • 2013-05-20
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 2018-10-31
      相关资源
      最近更新 更多