forked from instructure/canvas-lms
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsaml.rb
More file actions
26 lines (24 loc) · 796 Bytes
/
Copy pathsaml.rb
File metadata and controls
26 lines (24 loc) · 796 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
module ExternalAuthObservation
class Saml
attr_accessor :request, :response, :saml_settings, :account_auth_config
def initialize(account, request, response)
@request = request
@response = response
@account_auth_config = account.authentication_providers.where(parent_registration: true).first
@saml_settings = account_auth_config.saml_settings(request.host_with_port)
end
def logout_url
saml_request = Onelogin::Saml::LogoutRequest.generate(
response.name_qualifier,
response.sp_name_qualifier,
response.name_id,
response.name_identifier_format,
response.session_index,
saml_settings
)
forward_url = saml_request.forward_url
uri = URI(forward_url)
uri.to_s
end
end
end