我正在尝试调试一个问题,即当 EC2 ELB 后面有多个应用服务器时使用 Google 执行 oauth 失败。我认为该问题与未共享 oauth 后备存储这一事实有关。我们采用的解决方案运行了 2 年多,然后突然在 2 天前开始失败,我不知道这是我的配置问题还是谷歌改变了一些东西。
我相信要解决问题,我必须使用共享存储,例如 memcached。
这是我在经典风格的 sinatra 应用程序中的尝试:
Sinatra::Application.use ::OmniAuth::Strategies::OpenID do
OpenID::Store::Memcache.new(Memcached.new('my_memcached_machine'))
end
不幸的是,这仍然没有解决问题。据我所知,OmniAuth 从未对 memcached 执行任何获取或设置请求。
这是让omniauth在经典风格的sinatra应用程序中尝试向谷歌进行身份验证时使用memcached的正确方法吗?