Module: OktaApplicationHelper

Included in:
SamlController
Defined in:
app/helpers/okta_application_helper.rb

Instance Method Summary collapse

Instance Method Details

#idp_login_request_url(request) ⇒ Object



21
22
23
24
# File 'app/helpers/okta_application_helper.rb', line 21

def (request)
  idp_request = OneLogin::RubySaml::Authrequest.new
  idp_request.create(saml_settings(request))
end

#idp_response(params) ⇒ Object



3
4
5
# File 'app/helpers/okta_application_helper.rb', line 3

def idp_response(params)
  OneLogin::RubySaml::Response.new(params[:SAMLResponse])
end

#saml_settings(request) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'app/helpers/okta_application_helper.rb', line 7

def saml_settings(request)
  settings = OneLogin::RubySaml::Settings.new

  settings.assertion_consumer_service_url = saml_consume_url(host: request.host)
  settings.issuer                         = "http://#{request.port == 80 ? request.host : request.host_with_port}"
  settings.idp_sso_target_url             = SAML_SETTINGS[:idp_sso_target_url]
  settings.idp_cert_fingerprint           = SAML_SETTINGS[:idp_cert_fingerprint]
  settings.name_identifier_format         = "urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"
  # Optional for most SAML IdPs
  settings.authn_context = "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport"

  settings
end