Twitter OmniAuth通过Sinatra的问题

时间:2014-11-28 22:18:54

标签: ruby twitter oauth sinatra omniauth

我正在尝试构建一个使用Twitter进行身份验证的sinatra应用程序,但我目前仍然停留在应用程序进入Twitter进行身份验证的位置,但是失败了&向我提供了模糊的信息:

  

技术上有些错误。

我真的迷失在哪里开始尝试调试此问题。任何帮助都会很棒。

验证密钥已替换为XXX。

require 'sinatra'
require 'omniauth-twitter'
require 'better_errors'

set :server, 'webrick'
set :bind, '127.0.0.1'
set :port, 3000

configure do
  enable :sessions

  use OmniAuth::Builder do
    provider :twitter, 'XXXX', 'XXXX'
  end

  use BetterErrors::Middleware
  BetterErrors.application_root = __dir__
end

before do
  pass if request.path_info =~ /^\/auth\//
  redirect to('/auth/twitter') unless current_user
end

get '/auth/twitter/callback' do
  session[:uid] = env['omniauth.auth']['uid']
  redirect to('/')
end

get '/auth/failure' do
end

get '/' do
  'Hello omniauth-twitter!'
  puts env['omniauth.auth']['info']['name']
end

helpers do
  def current_user
    !session[:uid].nil?
  end
end

回调网址(在Twitter上设置): http://127.0.0.1:3000/auth/twitter/callback

0 个答案:

没有答案