Gem 谨慎升级 omniauth-oauth2 到 1.4.0,你之前接入的 oauth 服务可能会出问题!

tumayun · 2015年11月01日 · 最后由 tumayun 回复于 2015年11月01日 · 1500 次阅读

今晚老板 slack 我说 oauth 出问题了,但是我记得我没有做这方面的改动,这是见鬼了,只能在开发环境查一下啦。

查的过程就省略不说,结果发现是在向第三方请求 token 的时候报错了。 完全没有道理啊,这东西怎么会出问题,然后自己把请求 token 的参数粘贴下来试,鬼使神差的把 callback_urlquery_string 删掉,居然请求成功了。 可是为什么会多了 query_string 呢?想起一周前升级了一次 Gem,一看 omniauth-oauth21.3.1 升级到 1.4.0 了,看了下 omniauth-oauth2 的 commits,终于找到元凶(Merge pull request #70 from intridea/dont-override-callback-url)了。

很奇怪维护者们为什么要合并这个 PR,这明显会导致很多 oauth 服务出问题的,比如 facebookdribbble 等等。 我目前的做法是将 omniauth-oauth2 降级到 1.3.1,似乎正确的做法是给 omniauth-dribbble 提 PR,像 omniauth-facebook 就更新了。

最后祝各位永远不出 bug 😀

好吧,原来这是 PR 是按照 Oauth2 标准修复了一个遗留问题

需要 登录 后方可回复, 如果你还没有账号请 注册新账号