Class: OmniAuth::Strategies::Tent

Inherits:
Object
  • Object
show all
Includes:
OmniAuth::Strategy
Defined in:
lib/omniauth/strategies/tent.rb

Constant Summary collapse

Error =
Class.new(StandardError)
AppCreateFailure =
Class.new(Error)
AppLookupFailure =
Class.new(Error)
AppAuthorizationCreateFailure =
Class.new(Error)
StateMissmatchError =
Class.new(Error)

Instance Method Summary collapse

Instance Method Details

#callback_phaseObject



50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/omniauth/strategies/tent.rb', line 50

def callback_phase
  verify_state!
  create_app_authorization!
  build_auth_hash!
  delete_state!
  call_app!
rescue AppAuthorizationCreateFailure => e
  fail!(:app_auth_create_failure, e)
rescue StateMissmatchError => e
  fail!(:state_missmatch, e) 
rescue => e
  fail!(:unknown_error, e)
end

#request_paramsObject



24
25
26
# File 'lib/omniauth/strategies/tent.rb', line 24

def request_params
  Hashie::Mash.new(request.params)
end

#request_phaseObject



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/omniauth/strategies/tent.rb', line 28

def request_phase
  if request.post? && request_params.entity
    delete_state!
    set_state(:entity, ensure_entity_has_scheme(request_params.entity))
    perform_discovery!
    find_or_create_app!
    build_uri_and_redirect!
  else
    OmniAuth::Form.build(
      :title => (options[:title] || "Entity Verification")
    ) do |f|
      f.text_field 'Entity', 'entity'
    end.to_response
  end
rescue AppCreateFailure => e
  fail!(:app_create_failure, e)
rescue AppLookupFailure => e
  fail!(:app_lookup_failure, e)
rescue => e
  fail!(:unknown_error, e)
end