【问题标题】:Problems with OAuth and 500px API with Ruby on RailsRuby on Rails 的 OAuth 和 500px API 问题
【发布时间】:2014-01-02 03:06:41
【问题描述】:

我想我会尝试使用 OAuth 来学习,但我在尝试让它工作时遇到了一些问题。 500px 的开发者页面上的信息不多,我在 Google 上搜索的所有内容都没有解决我的问题,希望我能在这里找到答案。由于我被卡住了,因此我能在这里得到任何帮助将不胜感激!

我一直收到的错误是 401 Unauthorized

我已经设置了一个 TestController 来处理 API。

class TestController < ApplicationController
  def index
    consumer = OAuth::Consumer.new("KEY", "SECRET",
      :site               => "https://api.500px.com",
      :request_token_path => "/v1/oauth/request_token",
      :access_token_path  => "/v1/oauth/access_token",
      :authorize_path     => "/v1/oauth/authorize")

    session[:consumer] = consumer

    session[:request_token] = session[:consumer].get_request_token(:oauth_callback => "http://localhost:3000/auth/500px/callback")
    redirect_to session[:request_token].authorize_url
  end

  def callback
    session[:oauth_token] = params["oauth_token"]
    session[:oauth_verifier] = params["oauth_verifier"]
    session[:access_token] = session[:consumer].get_access_token(session[:request_token], :oauth_token => session[:oauth_token], :oauth_verifier => session[:oauth_verifier])
  end
end

【问题讨论】:

  • 真的是consumer = OAuth::Consumer.new("KEY", "SECRET",,而不是consumer = OAuth::Consumer.new(ENV[ "KEY" ], ENV[ 'SECRET' ],

标签: ruby-on-rails ruby api oauth


【解决方案1】:

我想通了。问题是在我的 URL 中是 localhost:3000,而在我的回调 URL 中是 127.0.0.1:3000。认为它们会相同,但事实并非如此。一旦我将回调 URL 更改为 localhost:3000,它就起作用了。我已经为将来使用 500px api 的任何人更新了代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-05
    • 2013-09-10
    • 2011-06-22
    • 1970-01-01
    • 2010-10-03
    • 2015-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多