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