summaryrefslogtreecommitdiff
path: root/bin/ui
diff options
context:
space:
mode:
Diffstat (limited to 'bin/ui')
-rwxr-xr-xbin/ui17
1 files changed, 9 insertions, 8 deletions
diff --git a/bin/ui b/bin/ui
index e5eb548..14b934d 100755
--- a/bin/ui
+++ b/bin/ui
@@ -123,7 +123,7 @@ end
module HTTPHelpers
def current_user?(request)
- request.session[:id_token]
+ request.session[:access_token]
end
def not_found
@@ -393,14 +393,14 @@ class UI
saml_response = saml_binding.deserialize(request.params)
raise saml_response.errors unless saml_response.valid?
+ assertion = Base64.strict_encode64(saml_response.assertion.to_xml)
response = oauth_client.exchange(
"urn:ietf:params:oauth:grant-type:saml2-bearer",
- assertion: request.params["SAMLResponse"],
+ assertion: assertion,
)
if response.code == "200"
tokens = JSON.parse(response.body, symbolize_names: true)
request.session[:access_token] = tokens[:access_token]
- request.session[:id_token] = tokens[:id_token]
request.session[:refresh_token] = tokens[:access_token]
template = <<~ERB
@@ -410,13 +410,14 @@ class UI
<title></title>
</head>
<body style="background-color: pink;">
- <h2>Received SAML Response</h2>
- <textarea readonly="readonly" disabled="disabled" cols=220 rows=40><%=- saml_response.to_xml(pretty: true) -%></textarea>
- <pre id="raw-saml-response"><%= request.params["SAMLResponse"] %></pre>
- <pre id="access-token"><%= JSON.pretty_generate(request.session[:access_token]) %></pre>
-
<a href="/index.html">Home</a>
<a href="/groups.html">Groups</a>
+
+ <h2>Received SAML Response</h2>
+ <textarea readonly="readonly" disabled="disabled" cols=220 rows=40><%=- saml_response.to_xml(pretty: true) -%></textarea>
+ <pre id="raw-saml-response" style="display: none;"><%= request.params["SAMLResponse"] %></pre>
+ <pre id="xml-saml-assertion" style="display: none;"><%= saml_response.assertion.to_xml(pretty: true) %></pre>
+ <pre id="access-token" style="display: none;"><%= JSON.pretty_generate(request.session[:access_token]) %></pre>
</body>
</html>
ERB