require 'rubygems'
require 'sinatra'
require 'json'
require 'omniauth'
require 'omniauth-github'
require 'omniauth-facebook'
require 'omniauth-twitter'
#TODO require 'omniauth-att'
class SinatraApp < Sinatra::Base
configure do
set :sessions, true
set :inline_templates, true
end
use OmniAuth::Builder do
provider :github, 'ece9da5a3cff23b3475f','eb81c6098ba5d08e3c2dbd263bf11de5f3382d55'
provider :facebook, '290594154312564','a26bcf9d7e254db82566f31c9d72c94e'
provider :twitter, 'cO23zABqRXQpkmAXa8MRw', 'TwtroETQ6sEDWW8HEgt0CUWxTavwFcMgAwqHdb0k1M'
#provider :att, 'client_id', 'client_secret', :callback_url => (ENV['BASE_DOMAIN']
end
get '/' do
erb "
Login with Github
Login with facebook
Login with twitter
Login with att-foundry"
end
get '/auth/:provider/callback' do
erb "
#{JSON.pretty_generate(request.env['omniauth.auth'])}"
end
get '/auth/failure' do
erb "#{params}"
end
get '/auth/:provider/deauthorized' do
erb "#{params[:provider]} has deauthorized this app."
end
get '/protected' do
throw(:halt, [401, "Not authorized\n"]) unless session[:authenticated]
erb "#{request.env['omniauth.auth'].to_json}