今天谷歌加API关闭,可以用哪个替代认证?

射线

我正在使用rails-4,并且已经在我的应用程序中使用以下 gemsOAuth-2进行身份验证Google+ API

  1. omn​​iauth-oauth2
  2. omn​​iauth-google-oauth2

我已收到以下事先电子邮件通知:

2019 年 3 月 7 日,所有 Google+ API 和 Google+ Sign-in 将完全关闭。这将是一个渐进式关闭,API 调用最早在 2019 年 1 月 28 日开始间歇性失败,并且 OAuth 请求 > 针对 Google+ 范围的 OAuth 请求最早在 2019 年 2 月 > 15 日开始间歇性失败。

今天,我无法进行身份验证,因为在 API 收到以下代码后我得到nilrequest.env["omniauth.auth"]

@user = User.find_for_google_oauth2(request.env["omniauth.auth"], current_user)

请建议我如何解决这个问题,或者提供一个替代方案。

射线

最后,我通过为用户信息提供备用 OpenIdConnect 端点以某种方式设法解决了这个问题。使用source,我替换了:

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

现在效果很好。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何知道是否可以用js关闭窗口

来自分类Dev

是否可以用/>关闭<img>之类的HTML标记吗?

来自分类Dev

是否可以用Yesod替代Rails的`link_to foo,bar,方法:“ delete”?

来自分类Dev

可以用mysql触发器或cronjob替代mysql事件吗?

来自分类Dev

可以用PyCharm Professional替代CLion-主要用于python

来自分类Dev

我可以用sed实现这种替代吗?(未知命令“ +”是什么意思)

来自分类Dev

无法压缩分区数量不相等的RDD。我可以用什么替代zip?

来自分类Dev

我可以用哪个符号替换 "expected should equal("""anyInt - anyInt - anyInt""")" 中的 anyInt

来自分类Dev

加密...几乎可以用

来自分类Dev

我可以用ScriptDB替代什么来存储大数组?(不使用外部数据库)

来自分类Dev

Object.observe-并非所有主流浏览器都支持,我可以用什么替代?

来自分类Dev

谷歌api是已知的,但是哪个帐户?

来自分类Dev

有没有一种简单的方法可以用 API 数据更新 CSV?

来自分类Dev

DI容器可以用作会话状态的替代方法吗?

来自分类Dev

DI容器可以用作会话状态的替代方法吗?

来自分类Dev

哪个函数可以用来显示元素,哪些函数可以用来隐藏元素?

来自分类Dev

是否可以用<algorithm>覆盖地图?

来自分类Dev

可以用pyspider代替Scrapy吗?

来自分类Dev

可以用Spock嘲笑枚举吗?

来自分类Dev

是否可以用List填充ListView

来自分类Dev

可以用STM完成吗?

来自分类Dev

可以用MYSQL replace()吗?

来自分类Dev

可以用前缀映射表吗?

来自分类Dev

我可以用什么代替@?

来自分类Dev

是否可以用<algorithm>覆盖地图?

来自分类Dev

如何/可以用GCJ编译Clojure

来自分类Dev

可以用XSLT展开XML吗?

来自分类Dev

可以用C#简化吗?

来自分类Dev

我可以用$('form')代替$吗?

Related 相关文章

  1. 1

    如何知道是否可以用js关闭窗口

  2. 2

    是否可以用/>关闭<img>之类的HTML标记吗?

  3. 3

    是否可以用Yesod替代Rails的`link_to foo,bar,方法:“ delete”?

  4. 4

    可以用mysql触发器或cronjob替代mysql事件吗?

  5. 5

    可以用PyCharm Professional替代CLion-主要用于python

  6. 6

    我可以用sed实现这种替代吗?(未知命令“ +”是什么意思)

  7. 7

    无法压缩分区数量不相等的RDD。我可以用什么替代zip?

  8. 8

    我可以用哪个符号替换 "expected should equal("""anyInt - anyInt - anyInt""")" 中的 anyInt

  9. 9

    加密...几乎可以用

  10. 10

    我可以用ScriptDB替代什么来存储大数组?(不使用外部数据库)

  11. 11

    Object.observe-并非所有主流浏览器都支持,我可以用什么替代?

  12. 12

    谷歌api是已知的,但是哪个帐户?

  13. 13

    有没有一种简单的方法可以用 API 数据更新 CSV?

  14. 14

    DI容器可以用作会话状态的替代方法吗?

  15. 15

    DI容器可以用作会话状态的替代方法吗?

  16. 16

    哪个函数可以用来显示元素,哪些函数可以用来隐藏元素?

  17. 17

    是否可以用<algorithm>覆盖地图?

  18. 18

    可以用pyspider代替Scrapy吗?

  19. 19

    可以用Spock嘲笑枚举吗?

  20. 20

    是否可以用List填充ListView

  21. 21

    可以用STM完成吗?

  22. 22

    可以用MYSQL replace()吗?

  23. 23

    可以用前缀映射表吗?

  24. 24

    我可以用什么代替@?

  25. 25

    是否可以用<algorithm>覆盖地图?

  26. 26

    如何/可以用GCJ编译Clojure

  27. 27

    可以用XSLT展开XML吗?

  28. 28

    可以用C#简化吗?

  29. 29

    我可以用$('form')代替$吗?

热门标签

归档