使用Devise + OmniAuth的GitHub OAuth

我在http://github.com/rails3book/ticketee上有一个包含Devise提供的OAuth部分的应用程序。 配置位于config/initializers/devise.rb 。 我有这个与Twitter合作但总是从GitHub得到这个“无效凭据”消息。

我看不出Twitter和GitHub之间的做法有什么不同。 据我所知,这应该是Just Work(tm)。

这实际上是因为GitHub的OAuth2支持不与OAuth2规范的当前草案相匹配。 基本上,他们想要一个名为“access_token”的参数,但oauth2 gem的最新版本(撰写本文时为0.3.0)将其作为“oauth_token”传递,因为草稿的最新版本需要。

这基本上适用于除GitHub之外的所有其他提供程序,因为它们尚未更新对此备用命名参数的支持。

你有没有在Github注册你的申请? 你提供正确的钥匙吗? 我在这里有类似的身份validation,没有Devise,但是,配置(在development.rb中)应该几乎相同: http : //github.com/markusproske/omniauth_pure

编辑:由于回调路由,您需要不同的开发和生产注册。