class OmniAuth::Strategies::Draugiem
Authenticate to draugiem.lv and frype.com and others.
@example Basic Rails Usage
Add this to config/initializers/omniauth.rb Rails.application.config.middleware.use OmniAuth::Builder do provider :draugiem, 'App id', 'API Key' end
@example Basic Rack example
use Rack::Session::Cookie use OmniAuth::Strategies::Draugiem, 'App id', 'API Key'
Protected Instance Methods
callback_phase()
click to toggle source
Calls superclass method
# File lib/omniauth/strategies/draugiem.rb, line 41 def callback_phase if request.params['dr_auth_status'] == 'ok' && request.params['dr_auth_code'] response = RestClient.get('https://api.draugiem.lv/json/', { :params => draugiem_authorize_params(request.params['dr_auth_code']) }) auth = MultiJson.decode(response.to_s) unless auth['error'] @auth_data = auth super else fail!(auth['error']['code'].to_s,auth["error"]["description"].to_s) end else fail!(:invalid_request) end rescue Exception => e fail!(:invalid_response, e) end
request_phase()
click to toggle source
# File lib/omniauth/strategies/draugiem.rb, line 31 def request_phase params = { :app => options.app_id, :redirect => callback_url, :hash => Digest::MD5.hexdigest("#{options.api_key}#{callback_url}") } query_string = params.collect{ |key,value| "#{key}=#{Rack::Utils.escape(value)}" }.join('&') redirect "https://api.draugiem.lv/authorize/?#{query_string}" end