def callback_phase
request_token = ::OAuth::RequestToken.new(consumer, session['oauth'][name.to_s].delete('request_token'), session['oauth'][name.to_s].delete('request_secret'))
opts = {}
if session['oauth'][name.to_s]['callback_confirmed']
opts[:oauth_verifier] = request['oauth_verifier']
else
opts[:oauth_callback] = callback_url
end
@access_token = request_token.get_access_token(opts)
super
rescue ::Timeout::Error => e
fail!(:timeout, e)
rescue ::Net::HTTPFatalError => e
fail!(:service_unavailable, e)
rescue ::OAuth::Unauthorized => e
fail!(:invalid_credentials, e)
rescue ::NoMethodError, ::MultiJson::DecodeError => e
fail!(:invalid_response, e)
end