如何配置使用omniauth-google-oauth2返回的图像大小?

时间:2016-05-22 14:33:58

标签: ruby-on-rails devise omniauth-google-oauth2

我尝试在我的Rails应用中使用omniauth-google-oauth2配置devise

config.omniauth :google_oauth2, GOOGLE_APP_ID, GOOGLE_APP_SECRET, {
    scope: 'email, profile, plus.login',
    provider_ignores_state: true,
    prompt: 'select_account',
    image_aspect_ratio: 'square',
    image_size: 50,
    skip_jwt: true
}

这项工作,但我尝试将image_size配置为更大:

image_size: 100,

image_size: {width: 100, height: 100}, 

根据此documentation,它不起作用,它始终返回图像网址,如https://lh4.googleusercontent.com/-zE4TdSazXvI/AAAAAAAAAAI/AAAAAAAAACA/jWRW9BtDAlU/s128-c/photo.jpg?sz=50

此问题也在Rails devise with omniauth-google-oauth2 image size does not work处提出,但没有结果!

不要告诉我写这种硬代码:

url = "https://lh4.googleusercontent.com/-zE4TdSazXvI/AAAAAAAAAAI/AAAAAAAAACA/jWRW9BtDAlU/s128-c/photo.jpg?sz=50"
url = url.sub('?sz=50', '?sz=100')

还有另一种方法可以达到这个目的吗?

1 个答案:

答案 0 :(得分:1)

有一个issue on Github。修复程序在新宝石中实现。对我来说,只需将omniauth-google-oauth2 gem更新为版本>0.2.6

尝试bundle update omniauth-google-oauth2或在Gemfile中定义特定版本:

gem "omniauth-google-oauth2", "~> 0.4.1"