CINXE.COM
Centralized authentication | Universidade de Lisboa
<!DOCTYPE html> <html lang="pt"> <head> <title>Centralized authentication | Universidade de Lisboa</title> <meta name="description" content=""> <!-- OPEN GRAPH --> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="author" content="Universidade de Lisboa, Centralized authentication "> <!--<link rel="shortcut icon" type="image/png" href="favicon.png"/>--> <!-- Bootstrap Core CSS --> <link href="/nidp/css/id/css/bootstrap.min.css" rel="stylesheet"> <!-- Custom CSS --> <link href="/nidp/css/id/css/custom.css" rel="stylesheet"> <!-- Custom CSS flags--> <link href="/nidp/css/id/css/countrySelect.css" rel="stylesheet"> <!-- Custom Fonts --> <link href="/nidp/css/id/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css"> <link href="https://fonts.googleapis.com/css?family=Raleway:400,500,600,700,800" rel="stylesheet"> <link href="https://fonts.googleapis.com/css?family=Oswald:300,400,500,600" rel="stylesheet"> <!--start JQUERY LIBS scripT ADD--> <script type="text/javascript" src="/nidp/javascript/jquery-1.11.2.min.js"></script> <!--end css SCRIPT add--> <script> //NDS scripts var sid = undefined; $(document).ready(function() { //quando n茫o existe cookie // showChoosePage(); showLoginPage(); $(".list-unstyled a") .attr("href", function(arr) { //need to validate if a have class addSid var url = this + ""; //also parameters if (url.indexOf("?") > 0) { return this + "&sid=" + sid; } else { return this + "?sid=" + sid; } }) .each(function() { //$( "span", this ).html( "(id = '<b>" + this.id + "</b>')" ); }); if (getCookie("idp_checkbox") != "not_found") { //alert("ddddd "+getCookie("idp_checkbox")); setCookieCheckboxIDP(); if (getCookie("idp_instance") != "not_found") { if (getCookie("idp_instance").indexOf("login#?") > 0) { showLoginPage(); } else { location.href = getCookie("idp_instance"); } } } $(".list-unstyled a").click(function() { if ($("#idp_checkbox").prop('checked')) { var link_click = $(this).attr('href'); console.log("link_click " + link_click); setCookie("idp_instance", link_click, 7); setCookie("idp_checkbox", true, 7); console.log("idp_checkbox " + idp_checkbox); } }); $("#country_selector").countrySelect({ onlyCountries: ['at','be','cz','dk','ee','es','is','it','fi','fr','gr','hr','lv','lt','nl','mt','no','pl','pt','se','si'] }); }); //document ready function showMessageUnavaliable(){ setGlobalMessage("Authentication method unavailable;"); $('.globalMessage').css("display", "normal"); } function setCookieCheckboxIDP() { $("#idp_checkbox").attr('checked', 'checked') } function setRemoveCookie() { if ($("#idp_checkbox").prop('checked') == false) { eraseCookie("idp_instance"); eraseCookie("idp_checkbox"); } } function showLoginPage(clearMessage) { //quando n茫o existe cookie $('.loginPage').fadeIn(500); $(".choosePage").css("display", "none"); $(".eidasPage").css("display", "none"); if (clearMessage == true) { clearGlobalMessage(); } //call the image with fadeIn effect $(".loginPage").fadeIn(0, function() { $(this).css("display", "normal"); }); $(".formChangeAutenticacao").css("display", "none"); $(".school_name").html(""); showLogin(); showLoginForm(); } function showEidasPage() { //quando n茫o existe cookie $('.eidasPage').fadeIn(500); $('.loginPage').css("display", "none"); $(".choosePage").css("display", "none"); clearGlobalMessage(); //call the image with fadeIn effect $(".eidasPage").fadeIn(0, function() { $(this).css("display", "normal"); }); //call the image with fadeIn effect $(".eidasPage").fadeIn(0, function() { $(this).css("display", "normal"); }); $(".formChangeAutenticacao").css("display", "none"); $(".school_name").html(""); showLogin(); showLoginForm(); } function showLoginChoosePageIDP(idp_url, nome_fac) { //quando n茫o existe cookie $('.loginPage').fadeIn(500); $(".choosePage").css("display", "none"); $(".eidasPage").css("display", "none"); //call the image with fadeIn effect $(".loginPage").fadeIn(0, function() { $(this).css("display", "normal"); }); $(".formChangeAutenticacao").fadeIn(0, function() { $(this).css("display", "normal"); }); $(".idp_url_btn").attr("href", idp_url); $(".school_name").html(nome_fac); $('#uselect')[0].selectedIndex = 0; showLoginForm(); } function showChoosePage(clearMessage) { $(".loginPage").css("display", "none"); $(".eidasPage").css("display", "none"); $(".choosePage").fadeIn(500, function() { $(this).css("display", "normal"); }); $(".eidasPage").css("display", "none"); if (clearMessage == true) { clearGlobalMessage(); } } function clearGlobalMessage() { $(".globalMessage").html(""); } function getURLParameters(url, paramName) { var sURL = url; if (sURL.indexOf("?") > 0) { var arrParams = sURL.split("?"); var arrURLParams = arrParams[1].split("&"); var arrParamNames = new Array(arrURLParams.length); var arrParamValues = new Array(arrURLParams.length); var i = 0; for (i = 0; i < arrURLParams.length; i++) { var sParam = arrURLParams[i].split("="); arrParamNames[i] = sParam[0]; if (sParam[1] != "") arrParamValues[i] = unescape(sParam[1]); else arrParamValues[i] = "No Value"; } for (i = 0; i < arrURLParams.length; i++) { if (arrParamNames[i] == paramName) { //alert("Parameter:" + arrParamValues[i]); return arrParamValues[i]; } } return "not_found"; } } function setCookie(cname, cvalue, exdays, path) { var d = new Date(); d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000)); var expires = "expires=" + d.toUTCString(); document.cookie = cname + "=" + cvalue + ";" + expires + ";domain=https://preprod.autenticacao.gov.pt;path=/"; } function getCookie(cname) { var name = cname + "="; var decodedCookie = decodeURIComponent(document.cookie); var ca = decodedCookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } return "not_found"; } function eraseCookie(name) { setCookie(name, "", -1); } function getURLParameters(url, paramName) { var sURL = url; if (sURL.indexOf("?") > 0) { var arrParams = sURL.split("?"); var arrURLParams = arrParams[1].split("&"); var arrParamNames = new Array(arrURLParams.length); var arrParamValues = new Array(arrURLParams.length); var i = 0; for (i = 0; i < arrURLParams.length; i++) { var sParam = arrURLParams[i].split("="); arrParamNames[i] = sParam[0]; if (sParam[1] != "") arrParamValues[i] = unescape(sParam[1]); else arrParamValues[i] = "No Value"; } for (i = 0; i < arrURLParams.length; i++) { if (arrParamNames[i] == paramName) { //alert("Parameter:" + arrParamValues[i]); return arrParamValues[i]; } } return "not_found"; } } $(".checkedInput").change(function() { var newValue = $(this).val(); var idValue = $(this).attr('id'); // we need id to retrieve initial value. Initial value is stored in element with id <id>Initial var oldValue = $("#" + idValue + "Initial").val(); if(newValue === oldValue) { // if value don't changed - disable button. user have no possibility to submit form console.log("newValue " + newValue); $(this).parents("form.checked").find(".submitButton").attr("disabled", true); } else { console.log("oldValue " + oldValue); // if value changed - remove "disabled" attribute. User can click button and submit form $(this).parents("form".checked).find(".submitButton").removeAttr("disabled"); } }); function showLogin() { var myDiv = document.getElementById("theNidpContent"); //alert("theNidpContent"); myDiv.style.display = 'block'; } function showLoginForm() { $(".idpLoginButton").css("display", "none"); $(".loginForm").fadeIn(0, function() { $(this).css("display", "normal"); showLogin(); }); } function showLocalIDP() { $(".loginForm").css("display", "none"); $(".idpLoginButton").fadeIn(0, function() { $(this).css("display", "normal"); showLogin(); }); clearGlobalMessage(); } function updateQueryString(key, value, url) { if (url) { var re = new RegExp("([?&])" + key + "=.*?(&|#|$)(.*)", "gi"), hash; if (re.test(url)) { if (typeof value !== 'undefined' && value !== null) return url.replace(re, '$1' + key + "=" + value + '$2$3'); else { hash = url.split('#'); url = hash[0].replace(re, '$1$3').replace(/(&|\?)$/, ''); if (typeof hash[1] !== 'undefined' && hash[1] !== null) url += '#' + hash[1]; return url; } } else { if (typeof value !== 'undefined' && value !== null) { var separator = url.indexOf('?') !== -1 ? '&' : '?'; hash = url.split('#'); url = hash[0] + separator + key + '=' + value; if (typeof hash[1] !== 'undefined' && hash[1] !== null) url += '#' + hash[1]; return url; } else return url; } } } function getToContent(strUrl, strTargetDivId) { if ((null == strTargetDivId) || (null == strUrl)) { // Required parameters missing. Return true to continue processing. return true; } var elementTargetDiv = document.getElementById(strTargetDivId); if (!elementTargetDiv) { // Required element not resolvable. Return true to continue processing. return true; } strUrl = updateQueryString("uiDestination", "contentDiv", strUrl); $.get(strUrl, function(data) { $(elementTargetDiv).html(data); return false; }) .fail(function(jqXHR, textStatus, errorThrown) { if (jqXHR) { if ((0 == jqXHR.readyState) && (0 == jqXHR.status)) { setGlobalMessage("The Web Browser experienced an error that did not allow it to successfully initiate the request."); } if (4 == jqXHR.readyState) { if (404 == jqXHR.status) { setGlobalMessage("The requested resource was not found by the Web Server. (HTTP 404)"); } else if (500 == jqXHR.status) { setGlobalMessage("An unexpected error was encountered by the Web Server. (HTTP 500)"); } else if (503 == jqXHR.status) { setGlobalMessage("The Web Server is currently unavailable. (HTTP 503)"); } else if ((12156 == jqXHR.status) || (12157 == jqXHR.status)) { setGlobalMessage("The Web Browser could not create a secure connection to the Web Server. (HTTP 12157)"); } else { var strErrorInstance = "The Web Server request failed with error: (HTTP {0})".replace("{0}", jqXHR.status); setGlobalMessage(strErrorInstance); } } } }); return true; } function goToHelp() { var helpButtonDiv = document.getElementById('helpButton'); if (helpButtonDiv) { var strHelpUrl = helpButtonDiv.getAttribute("data-helpURL"); if (strHelpUrl) { var w = window.open(strHelpUrl, "nidsPopupHelp", "toolbar=no,location=no,directories=no,menubar=no,scrollbars=yes,resizable=yes,width=500,height=500"); if (w != null) { w.focus(); } } } } function setHelpUrl(strHelpUrl) { var helpButtonDiv = document.getElementById('helpButton'); if (helpButtonDiv) { helpButtonDiv.setAttribute("data-helpURL", strHelpUrl); } } function setFederationsHelp() { setHelpUrl('/nidp/html/help/en/federations.html'); } function setLogTicketHelp() { setHelpUrl('/nidp/html/help/en/logTicketsubtab.html'); } function isNumberKey(event) { var charCode = (event.which) ? event.which : event.keyCode; if (charCode > 31 && (charCode < 48 || charCode > 57)) { return false; } return true; } function isEnterKey(event) { return isKey(event, 13); } function isSpaceKey(event) { return isKey(event, 32); } function isKey(event, targetKeyCode) { var candidateKeyCode = (event.which) ? event.which : event.keyCode; if (candidateKeyCode != targetKeyCode) { return false; } return true; } function setGlobalMessage(strMessage) { //var globalMessage = document.getElementById('globalMessage'); var eleGlobalMessage = document.getElementsByClassName('globalMessage'); if (eleGlobalMessage.length > 0) { var i; for (i = 0; i < eleGlobalMessage.length; i++) { eleGlobalMessage[i].innerHTML = '<i class="fa fa-exclamation-circle" aria-hidden="true"></i> ' + strMessage; eleGlobalMessage[i].classList.add('text-danger'); } return true; } return false; } function setGlobalMessageValidatingCredentials(strMessage) { //var globalMessage = document.getElementById('globalMessage'); var eleGlobalMessage = document.getElementsByClassName('globalMessage'); if (eleGlobalMessage.length > 0) { var i; for (i = 0; i < eleGlobalMessage.length; i++) { eleGlobalMessage[i].innerHTML = '<span class="loadingIMG"></span> ' + strMessage; eleGlobalMessage[i].classList.remove('text-danger'); } return true; } return false; } $(document).ready(function() { $("#nam-ham-but").click(function() { $("#glass-div-auth-menu").show(); if ($("#nam-ham-menu").css('display') != 'block') { $('#nam-ham-menu').toggle('slide'); } }); $("#glass-div-auth-menu").click(function() { $(this).hide(); if ($("#nam-ham-menu").css('display') == 'block') { $("#nam-ham-menu").toggle('slide'); } }); $("#username-namclient").click(function() { $("#glass-div-auth-user").show(); if ($("#username-dialog-namclient").css('display') != 'block') { $("#username-dialog-namclient").slideDown('fast'); } }); $("#glass-div-auth-user").click(function() { $(this).hide(); if ($("#username-dialog-namclient").css('display') == 'block') { $("#username-dialog-namclient").slideUp('fast'); } }); $(".eidas_btn").click(function(){ const countryData = $("#country_selector").countrySelect("getSelectedCountryData"); $("#CountryCode").val(countryData.iso2); setCookie("countryCode",countryData.iso2,1) $(".uformEidas").submit(); }); }); </script> <style> #globalMessage { padding: 10px; } #nam-login-tabs-div { position: relative; margin-left: 69px; border-left: 1px solid rgb(218, 225, 225); border-right: 0px !important; text-align: left; } #multi-login-div { border-bottom: 0px solid #dae1e1; } #username-dialog-namclient { position: absolute; top: 40px; right: 20px; color: #f6f6f6; background: #434c50; border-color: #434c50; } .not-active { pointer-events: none; cursor: default; opacity: 0.6; } .forgot a { font-family: 'Raleway', sans-serif; } </style> <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> <![endif]--> </head> <body class="prod"> <script> sid = getURLParameters("/nidp/jsp/content.jsp?sid=0&id=ULisboa&sid=0&SAMLRequest=fZFdT8IwFIbv%2BRVm99APGB8NkKAYJUEhML3wxhy2gzTZ2tnTiT%2FfsWpEL%2Bjdafs8ed92TFDkpZpV%2FmA2%2BF4h%2BdZVvT6L3JBqDidR5YyyQJqUgQJJ%2BVRtZw9LJTtclc56m9o8%2BoddpoAIndfWBGwxn0Srx9vl6m7x%2BMolYH8wEJnoin4X%2Bagvhlncw73AUbwfxqM958BBBvQZHdWeSVRro1awEVW4MOTB%2BHqfy15biLbsJVyoWCgpXwI6r8tqA77BD96XpBjTWafKNe0sdErPjM5KdqojGZEN2Pq78bU2mTZvl4vuwiVS90mybq9X2yRIZj8PcGMNVQW6LboPneLTZvmb5Xg8noc55WCQUjRtFOPTrJqybnoJKdBDBh7G7JxohfHv30%2B%2FAA%3D%3D&RelayState=https%3A%2F%2Fwww.ulisboa.pt%2Fsaml%2Flogin","sid") </script> <div id="runningInEndUserLoginEnvironment" style="display: none"></div> <div id="glass-div-auth-menu" class="glass-auth-menu" style="display: none"> </div> <div id="glass-div-auth-user" class="glass-auth-user" style="display: none"> </div> <div id="masthead-namclient" class="masthead" style="display: none"> <div id="branding-namclient" style="display: none"> <div class="mast-logo"> <img id="mastheadImage" src=""> <span class="mast-title" id="mastheadTitle"></span> </div> </div> </div> </div> <div class="tabs"> <!-- <div id="nam-ham-but" class="ham-menu hover"><img src="/nidp/images/hamburger_52.png"></div> --> <div id="nam-login-tabs-div"> <div id="multi-login-div"> </div> </div> </div> <div id="contentContainer" class="content login-page" style="margin: 25px;"></div> <!-- NMM Esconder cartao atual--> <!-- AMIS12 new --> <!-- <div id="currentCardDisplay" class="content login-page" style="margin: 25px; display: block"> <div class="signin-div"><img class="access-card" src="/nidp/images/pool/[NAM30IND41KSl9YG41UEs~3D/[NAM30IND41LjQ2LWQ6CxA~3D.png"><span class="access-card-label-onwhite"></span></div> </div> --> <!-- start loginPage --> <div class="container main-box loginPage"> <div id="login-box" class="mx-auto"> <div class="row justify-content-center"> <div class="col-lg-4 p-0"> <div id="id-left" class="p-5"> <div class="row"> <div class="col-md-12"> <div class="text-center"> <img src="/nidp/css/id/images/logo-ulisboa-v.svg" alt="Universidade de Lisboa" class="brand-img mx-auto mb-4 d-none d-md-block"> <img src="/nidp/css/id/images/logo-ulisboa.svg" alt="Universidade de Lisboa" class="brand-h-img mx-auto mb-4 d-block d-md-none"> <h1 class="title mb-4">Centralized authentication </h1> <!-- <ul class="list-lang list-unstyled list-inline m-0"> <li class="list-inline-item"><a class="active">PT</a></li> <li class="list-inline-item"><a href="#">EN</a></li> </ul> --> </div> </div> </div> </div> </div> <!-- start class="col-lg-6 p-0" --> <div class="col-lg-6 p-0"> <div id="login-right" class="p-5"> <div class="row"> <div class="col-md-12"> <h4 class="text-primary mb-3">Choose an Account</h4> <div id="globalMessage2" class="help-block globalMessage"> This Identity Provider needs to validate your identity. Please login to your existing account here so that we can return verification back to your local service. </div> <div id="loginForm" class="loginForm"> <div id="theNidpContent" style="display:none;"> </div> <script> getToContent('/nidp/jsp/content.jsp?sid=0&id=ULisboa&sid=0&SAMLRequest=fZFdT8IwFIbv%2BRVm99APGB8NkKAYJUEhML3wxhy2gzTZ2tnTiT%2FfsWpEL%2Bjdafs8ed92TFDkpZpV%2FmA2%2BF4h%2BdZVvT6L3JBqDidR5YyyQJqUgQJJ%2BVRtZw9LJTtclc56m9o8%2BoddpoAIndfWBGwxn0Srx9vl6m7x%2BMolYH8wEJnoin4X%2Bagvhlncw73AUbwfxqM958BBBvQZHdWeSVRro1awEVW4MOTB%2BHqfy15biLbsJVyoWCgpXwI6r8tqA77BD96XpBjTWafKNe0sdErPjM5KdqojGZEN2Pq78bU2mTZvl4vuwiVS90mybq9X2yRIZj8PcGMNVQW6LboPneLTZvmb5Xg8noc55WCQUjRtFOPTrJqybnoJKdBDBh7G7JxohfHv30%2B%2FAA%3D%3D&RelayState=https%3A%2F%2Fwww.ulisboa.pt%2Fsaml%2Flogin', 'theNidpContent'); </script> </div> </div> </div> </div> </div> <!-- end class="col-lg-6 p-0" --> </div> </div> </div> <!-- end loginPage --> <!-- start eidasPage --> <div class="container main-box eidasPage"> <div class="row"> <div class="col-sm-4 text-center brand-area hidden-xs"> <img src="/nidp/css/id/images/logo-ulisboa-v.svg" class="ubrand ubrand-sm"> <h2 class="title hidden-xs uppercase">Centralized authentication </h2> <p class="mmenu"> <a href="#" onClick="showChoosePage(true)"> <span class="glyphicon glyphicon-th" aria-hidden="true"> </span> </a> </p> </div> <!-- start class="col-sm-8 text-center id-box" --> <div class="col-sm-8 text-center id-box"> <a href="#" onClick="showChoosePage(true)" class="pull-left btn-back"> <i class="fa fa-arrow-left" aria-hidden="true"></i> </a> <img src="/nidp/css/id/images/logo-ulisboa2-v.svg" class="ubrand visible-xs"> <h1 class="title-second">eID.AS Login</h1> <h3 class="uppercase school_name">NOME DA ESCOLA/INSTITUI脟脙O</h3> <div id="globalMessage2" class="help-block globalMessage"> This Identity Provider needs to validate your identity. Please login to your existing account here so that we can return verification back to your local service. </div> <form class="uform text-left uformEidas" method="get" action="https://eidas.ulisboa.pt/ULEP/SetCountryCode"> <div class="form-group"> <p>Indicate the nationality</p> <input id="country_selector" class="form-control" type="text"> <input type="hidden" id="id" name="id" value="IDP_ULEP"> <input type="hidden" id="CountryCode" name="CountryCode"> <input type="hidden" id="sid" name="sid" value="null"> </div> <div id="externalIDPGo" > <a class="btn btn-default btn-lg btn-block uppercase idp_url_btn eidas_btn">Continue</a> <div class="checkbox"> <label> <input type="checkbox"> Remember me </label> </div> </div> </form> </div> <!-- end class="col-sm-8 text-center id-box" --> </div> </div> <!-- end eidasPage --> <!-- jQuery --> <script src="/nidp/css/id/js/jquery.js"></script> <!-- Bootstrap Core JavaScript --> <script src="/nidp/css/id/js/bootstrap.min.js"></script> <!-- Easing Plugin --> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js"></script> <!-- Custom JavaScript --> <script src="/nidp/css/id/js/custom.js"></script> <!-- Custom JavaScript countrySelect --> <script src="/nidp/css/id/js/countrySelect.js"></script> </body> </html>