Class: SSOlo::Controller
- Inherits:
-
Object
- Object
- SSOlo::Controller
- Defined in:
- lib/ssolo/controller.rb
Overview
Manages the external process of a SSOlo server
Constant Summary collapse
- MAXIMUM_ATTEMPTS =
20
Instance Method Summary collapse
- #metadata_url ⇒ Object
- #settings ⇒ Object
- #start(sp_certificate:, name_id: nil) ⇒ Object
- #stop ⇒ Object
Instance Method Details
#metadata_url ⇒ Object
8 9 10 |
# File 'lib/ssolo/controller.rb', line 8 def @metadata_url ||= "http://127.0.0.1:#{port}/metadata" end |
#settings ⇒ Object
12 13 14 15 16 17 18 19 20 |
# File 'lib/ssolo/controller.rb', line 12 def settings @settings ||= begin wait_until_booted OneLogin::RubySaml::IdpMetadataParser.new.parse_remote( ) end end |
#start(sp_certificate:, name_id: nil) ⇒ Object
22 23 24 25 26 27 28 29 30 31 |
# File 'lib/ssolo/controller.rb', line 22 def start(sp_certificate:, name_id: nil) @pid = Process.spawn( { "SSOLO_PORT" => port.to_s, "SSOLO_NAME_ID" => name_id, "SSOLO_SP_CERTIFICATE" => sp_certificate }, "bundle exec ssolo" ) end |
#stop ⇒ Object
33 34 35 |
# File 'lib/ssolo/controller.rb', line 33 def stop Process.kill("KILL", @pid) end |