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