class WmOktaHelper::CreateSession
Attributes
okta_domain[RW]
okta_org[RW]
password[RW]
username[RW]
Public Class Methods
new(options)
click to toggle source
# File lib/wm_okta_helper/create_session.rb, line 5 def initialize(options) @options = options end
Public Instance Methods
call()
click to toggle source
# File lib/wm_okta_helper/create_session.rb, line 9 def call check_options fail 'Not authorized' if response['sessionToken'].blank? response end
Private Instance Methods
available_options()
click to toggle source
# File lib/wm_okta_helper/create_session.rb, line 19 def available_options %i[username password okta_org okta_domain] end
check_options()
click to toggle source
# File lib/wm_okta_helper/create_session.rb, line 23 def check_options missing_options = available_options.select { |o| @options[o].blank? } if missing_options.present? fail "Missing configuration variable: #{missing_options}" end available_options.each do |o| instance_variable_set("@#{o}", @options[o]) end end
request_body()
click to toggle source
# File lib/wm_okta_helper/create_session.rb, line 37 def request_body { username: username, password: password, options: { multiOptionalFactorEnroll: true, warnBeforePasswordExpired: true } } end
response()
click to toggle source
# File lib/wm_okta_helper/create_session.rb, line 48 def response @response ||= PostRequest.new( url: url, request_body: request_body ).call end
url()
click to toggle source
# File lib/wm_okta_helper/create_session.rb, line 33 def url "https://#{@okta_org}.#{@okta_domain}.com/api/v1/authn" end