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

How to config image size returned using omniauth-google-oauth2?

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

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,它不起作用,它总是 returns 图像 url 像 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')

还有其他方法可以实现吗?

有一个 issue on Github 关于这个。该修复在新的 gem 中实现。对我来说,它有助于简单地将 omniauth-google-oauth2 gem 更新为 >0.2.6.

版本

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

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