【问题标题】:Why does omniauth-twitter work locally but not on my server?为什么omniauth-twitter 可以在本地工作,但不能在我的服务器上工作?
【发布时间】:2017-08-14 22:22:51
【问题描述】:

我有一个带有 OmniAuth (1.6.1; omniauth-oauth 1.1.0) 和 omniauth-twitter (1.4.0) 的 Rails 5 (Ruby 2.3.3) 应用程序。当用户被定向到 Twitter 以进行 OAuth 流程时,他们在点击“授权应用程序”按钮后会看到以下错误:

哇!

此页面没有请求令牌。这是我们要求使用您的 Twitter 帐户的应用程序所需的特殊密钥。请返回将您发送到此处的站点或应用程序,然后重试;这可能只是一个错误。

关于这个错误最不幸的问题是它不会在本地发生——我在 Twitter 的应用管理控制台中有一个相同配置的应用,除了不同的 URL(本地应用为 127.0.0.1,Heroku URL 用于服务器)。

此外,我们还有其他 OmniAuth 策略可以在本地和生产环境中正常工作。

【问题讨论】:

    标签: ruby-on-rails heroku twitter oauth omniauth


    【解决方案1】:

    确认您的系统时钟设置正确,并且您的所有密钥输入正确。确保您使用正确的路径 (api.twitter.com/oauth/*) 并确保您实际上是在向 oauth/authorize 页面发送请求令牌而不是访问令牌。

    【讨论】:

    • 系统时钟是 Heroku,所以我希望它设置正确(这就是我所能做的)。我正在使用omniauth-twitter gem,并验证它使用的是正确的 URL。我认为您是在谈论成功的过程中的早期阶段——用户被发送到 Twitter 并单击那里的“授权”按钮。在那之后,当我的应用程序(通过 OmniAuth)为用户请求访问令牌时(我认为)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-24
    • 2021-04-26
    • 1970-01-01
    • 2021-10-01
    • 2010-11-17
    • 2019-09-30
    相关资源
    最近更新 更多