class OmniAuth::Strategies::Opscode
Public Instance Methods
callback_phase()
click to toggle source
Calls superclass method
# File lib/omniauth/strategies/opscode.rb, line 23 def callback_phase return fail!(:invalid_credentials) unless identity super end
identity()
click to toggle source
# File lib/omniauth/strategies/opscode.rb, line 36 def identity @identity ||= nil return @identity if @identity conn = Faraday.new(:url => options.chef_webui_url, :ssl => {:verify => false}) do |faraday| faraday.request :url_encoded # form-encode POST params faraday.response :logger # log requests to STDOUT faraday.adapter Faraday.default_adapter # make requests with Net::HTTP faraday.use :cookie_jar end conn.get("/login") response = conn.post('/login_exec', { :name => request['username'], :password => request['password'] }) if response.status == 302 && response.headers['location'] =~ /nodes$/ @identity = { :name => request['username'] } else nil end end
info()
click to toggle source
# File lib/omniauth/strategies/opscode.rb, line 32 def info @identity end
request_phase()
click to toggle source
# File lib/omniauth/strategies/opscode.rb, line 15 def request_phase form = OmniAuth::Form.new(:title => "Login to Opscode", :url => callback_path) form.text_field 'Username', 'username' form.password_field 'Password', 'password' form.button "Login" form.to_response end
uid()
click to toggle source
# File lib/omniauth/strategies/opscode.rb, line 28 def uid @identity[:name] end