我正在尝试构建一个使用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