HSLE#37342 SAML ook via &sso=1

svn path=/Website/branches/v2016.1/; revision=30676
This commit is contained in:
Jos Groot Lipman
2016-09-12 08:12:45 +00:00
parent b9614b9a2f
commit e6814d6a94

View File

@@ -0,0 +1,68 @@
<%@ language = "JavaScript" %>
<% /*
$Revision$
$Id$
File: cust/hsle/saml/default.asp
Description: Single Sign On script
Parameters:
Context: Variant die ook te gebruiken is via &sso=1
Note:
*/ %>
<%
Response.Expires=-1;
Session("customerId") = "HSLE";
ANONYMOUS_Allowed = 1;
%>
<!-- #include file="../../../appl/Shared/common.inc" -->
<!-- #include file="../../../appl/shared/login.inc" -->
<%
// for (i=1; i <= Request.ServerVariables.Count; i++)
// {
// __DoLog(Request.ServerVariables.key(i) + ": " + Request.ServerVariables(i));
// }
var uname = String(Request.ServerVariables("HTTP_EPPN"));
// __DoLog("uname: " + uname);
Response.Write("SAML user detected as: " + uname);
var sql = "SELECT prs_perslid_oslogin"
+ " FROM prs_perslid pp"
+ " , prs_kenmerklink pkl"
+ " WHERE pp.prs_perslid_key = pkl.prs_link_key"
+ " AND pkl.prs_kenmerklink_niveau = 'P'"
+ " AND pkl.prs_kenmerk_key = 1000" // IID
+ " AND pkl.prs_kenmerklink_waarde = " + safe.quoted_sql(uname)
var oRs = Oracle.Execute(sql);
if (!oRs.Eof)
{
uname = oRs("prs_perslid_oslogin").Value;
__Log("IID vertaald naar: " + uname);
}
var newUrl = rooturl + "/";
if (Session("SSO_URL")) // binnen via sso=1 route
{ // met 2016.2 moet dit eigenlijk via een JWT
var sso_qs = Session("SSO_QUERYSTRING")||"";
var sso_url = Session("SSO_URL");
sso_url = sso_url.replace(/^\/default.asp/i, "/"); // default.asp vooraan hoeft niet, ik wil cleane url
Session.Contents.Remove("SSO_QUERYSTRING");
Session.Contents.Remove("SSO_URL");
newUrl = sso_url + (sso_qs?"?":"") + sso_qs;
}
else
{
var sso_qs = String(Request.ServerVariables("QUERY_STRING"));
if (sso_qs)
newUrl += "?" + sso_qs;
}
if (tryLogin(uname, null))
{
//Response.Write("Hoera: je bent user: " + user_key);
}
else
{ // Automatisch naar het inlogscherm
__DoLog("SAML login not found in Facilitor: " + uname);
}
Response.Redirect(newUrl);
%>