我使用的rails-4
以及已经使用OAuth-2
与认证Google+ API
,其下述宝石被使用,在我的应用程序:
- omniauth-的oauth2
- omniauth - 谷歌 - 的oauth2
我收到以下的现有电子邮件通知:
在2019年3月7日,所有的Google+ API和Google+登录将被彻底关闭。 这将是一个渐进的关机,以起步早,2019年1月28,间歇性地失败的API调用,和OAuth请求>使用Google+作用域开始早在2月份> 15,2019年间歇性失败。
今天,我无法验证,因为我得到nil
为request.env["omniauth.auth"]
的API收到了以下的一段代码后:
@user = User.find_for_google_oauth2(request.env["omniauth.auth"], current_user)
请建议我怎么能解决这个问题,或者这提供了一个替代方案。
最后,我总算通过提供用户信息的备用OpenIdConnect端点,以解决这一问题。 使用源 ,我代替:
https://www.googleapis.com/plus/v1/people/me/openIdConnect
有:
https://www.googleapis.com/oauth2/v3/userinfo
我猴子打补丁omniauth-google-oauth2
如下:
配置/初始化/ omniauth_google_oauth2_patch.rb
class OmniAuth::Strategies::GoogleOauth2 < OmniAuth::Strategies::OAuth2
def raw_info
@raw_info ||= access_token.get('https://www.googleapis.com/oauth2/v3/userinfo').parsed
end
end
而且它现在工作的伟大。
文章来源: Google plus API shutdown today, which alternative can be used to authentication?