SinatraでTwitterのWebアプリを作るための学習1 - 別館 子子子子子子(ねこのここねこ) では
まず twitter oauth example を使ってみます。
としてそのスクリプトのリーディングも行いました。
ツイッター認証メソッド
ツイッター認証されているかどうかを返す logged_in?
メソッドは
def logged_in? session[:twitter_oauth] end
と定義されています。 session[:twitter_oauth] というのは
get '/auth/twitter/callback' do session[:twitter_oauth] = env['omniauth.auth'][:credentials] : end
修正したい
ただ、このような作り方ですので、コールバック直後には logged_in? メソッドが使えません。では他の確認方法は無いか?で、探してみると、ツイッター認証されていれば session[:oauth]['twitter']['callback_confirmed']
に true が入ります。ので、これに基づいて作成してみました。
helpers do def logged_in? return false unless session[:oauth] && session[:oauth]['twitter'] session[:oauth]['twitter']['callback_confirmed'] end end