Class: RubyCleverdome::Client
- Inherits:
-
Object
- Object
- RubyCleverdome::Client
- Defined in:
- lib/ruby-cleverdome.rb
Instance Method Summary collapse
- #auth(provider, uid, private_key_file, certificate_file) ⇒ Object
-
#initialize(sso_endpoint, widgets_wsdl) ⇒ Client
constructor
A new instance of Client.
- #widgets_call(method, locals) ⇒ Object
Constructor Details
#initialize(sso_endpoint, widgets_wsdl) ⇒ Client
Returns a new instance of Client.
8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/ruby-cleverdome.rb', line 8 def initialize(sso_endpoint, ) @sso_client = Savon.client( endpoint: sso_endpoint, namespace: 'urn:up-us:sso-service:service:v1', # proxy: 'http://127.0.0.1:8888', # log_level: :debug ) = Savon.client( wsdl: , # proxy: 'http://127.0.0.1:8888', element_form_default: :unqualified, # log_level: :debug ) end |
Instance Method Details
#auth(provider, uid, private_key_file, certificate_file) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/ruby-cleverdome.rb', line 23 def auth(provider, uid, private_key_file, certificate_file) req = create_request(provider, uid) req = sign_request(req, private_key_file, certificate_file) resp = saml_call(req) resp_doc = Nokogiri::XML::Document.parse(resp) resp_doc.remove_namespaces! check_resp(resp_doc) session_id = resp_doc.xpath('//Assertion//AttributeStatement//Attribute[@Name="SessionID"]//AttributeValue')[0].content session_id end |
#widgets_call(method, locals) ⇒ Object
37 38 39 40 41 42 |
# File 'lib/ruby-cleverdome.rb', line 37 def (method, locals) response = .call( method, :attributes => { 'xmlns' => 'http://tempuri.org/' }, message: { sessionID: 'EE282ABB-7BC3-42D3-BE98-9F8CE4217A12' } .merge(locals) ) end |