require "bundler/setup" require "sinatra/base" require "omniauth-createsend" class App < Sinatra::Base get "/" do redirect "/auth/createsend" end get "/auth/createsend/callback" do response = "Your user is successfully authenticated. Here are the details you need:

" response << "access token: #{request.env['omniauth.auth']['credentials']['token']}
" response << "refresh token: #{request.env['omniauth.auth']['credentials']['refresh_token']}
" response << "expires at: #{request.env['omniauth.auth']['credentials']['expires_at']}
" response end get "/auth/failure" do content_type "application/json" MultiJson.encode(request.env) end end use Rack::Session::Cookie use OmniAuth::Builder do provider :createsend, ENV["CREATESEND_CLIENT_ID"], ENV["CREATESEND_CLIENT_SECRET"], :scope => "ViewReports,CreateCampaigns,SendCampaigns" end run App.new