module Platformx::OmniauthRoutes

Omniauth routes @author Tim Mushen

Public Class Methods

registered(app) click to toggle source

Register routes for OmniAuth with Sinatra app @todo add individual route documentation. yard-sinatra plugin is not detecting these

routes. Probably because of the app.get format.
# File lib/platformx/omniauth_routes.rb, line 10
                def self.registered(app)

app.get '/omniauth-test/?' do
        "Yes!" 
end   

app.get '/auth/facebook/callback/?' do
    session[:facebook_token] = request.env['omniauth.auth']['credentials']['token']
    session[:facebook_token_expires_at] = request.env['omniauth.auth']['credentials']['expires_at']
    session[:facebook_uid] = request.env['omniauth.auth']['uid']
        redirect Platformx.configuration.facebook_callback_redirect_url
end

app.get '/auth/instagram/callback/?' do
        session[:instagram_token] = request.env['omniauth.auth']['credentials']['token']
        session[:instagram_image] = request.env['omniauth.auth']['info']['image'] 
        session[:instagram_uid] = request.env['omniauth.auth']['uid']
        session[:instagram_nickname] = request.env['omniauth.auth']['info']['nickname']
        redirect Platformx.configuration.instagram_callback_redirect_url
end

app.get '/auth/twitter/callback/?' do
        session[:twitter_token] = request.env['omniauth.auth']['credentials']['token']
        session[:twitter_secret] = request.env['omniauth.auth']['credentials']['secret']
        session[:twitter_uid] = request.env['omniauth.auth']['uid']
        session[:twitter_screenname] = request.env['omniauth.auth']['extra']['raw_info']['screen_name']
        session[:twitter_followers] = request.env['omniauth.auth']['extra']['raw_info']['followers_count']
        session[:twitter_friends] = request.env['omniauth.auth']['extra']['raw_info']['friends_count']
        session[:twitter_background] = request.env['omniauth.auth']['extra']['raw_info']['profile_background_image_url_https']
        session[:twitter_image] = request.env['omniauth.auth']['extra']['raw_info']['profile_image_url_https']
        session[:twitter_description] = request.env['omniauth.auth']['info']['description']
        session[:twitter_url] = request.env['omniauth.auth']['info']['urls']['Twitter']
        redirect Platformx.configuration.twitter_callback_redirect_url
end

app.get '/auth/failure' do
        erb "<br><br><br><br><h1>Authentication Failed:</h1><h3>message:<h3> <pre>#{params}</pre>"
end

app.get '/auth/:provider/deauthorized' do
        erb "#{params[:provider]} has deauthorized this app."
end

app.get '/logout' do
        session[:authenticated] = false
        redirect '/'
end

                end