KNF:SSO notificatie middels een iframe: verschil tussen versies

Uit Kennisnet Developers Documentatie
Ga naar: navigatie, zoeken
(Script)
 
(22 tussenliggende versies door 2 gebruikers niet weergegeven)
Regel 1: Regel 1:
  +
Het SSO notificatie cookie kan geplaatst worden door, nadat de gebruiker is ingelogd in de ELO of schoolportaal, een call vanuit een iframe naar Entree Federatie uit te voeren.<br>
== Implementatie door middel van een Iframe: ==
 
Hiervoor kan het onderstaande script of webpart voor SharePoint 2007 gebruikt worden.
 
   
  +
Voor de implementatie van de SSO notificatie functionaliteit kan het onderstaande script gebruikt worden. In dit script moet de waarde van twee variabelen worden aangepast:
===Script===
 
  +
# '''eloid''': De unieke identifier waarmee de Identity Provider bekend is binnen Entree Federatie. Dit is het entityId uit de metadata van de Identity Provider. Eventueel kan de identifier ook worden opgevraagd bij [https://support.kennisnet.org/Tickets/Submit Kennisnet].
* Script (voor in een iframe)
 
  +
# '''elourl''': De URL van de ELO of schoolportaal waar de call vandaan komt. Dit wordt in de Entree Federatie applicatie gebruikt voor verificatie.
  +
  +
'''LET OP:''' Voordat de SSO notificatie wordt geïmplementeerd moet de URL van de ELO of schoolportaal waarvandaan de call wordt uitgevoerd (zie [[KNF:SSO_notificatie_middels_een_iframe#Foutmeldingen | Foutmeldingen]]) toegevoegd worden aan de whitelist van Entree Federatie. Neem hiervoor contact op met [https://support.kennisnet.org/Tickets/Submit Kennisnet].
   
 
<syntaxhighlight lang="php">
 
<syntaxhighlight lang="php">
Regel 10: Regel 12:
 
<script type="text/javascript" charset="utf-8">
 
<script type="text/javascript" charset="utf-8">
   
var eloid = 'EntityID';
+
var eloid = ''; //EntityId
var elourl = 'http://';
+
var elourl = ''; //ELO URL
   
 
function createCookie(name, value)
 
function createCookie(name, value)
Regel 18: Regel 20:
 
}
 
}
   
function readCookie(name)
+
function readCookie(name)
{
+
{
var nameEQ = name + "=";
+
var nameEQ = name + "=";
var ca = document.cookie.split(';');
+
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++)
+
for(var i=0;i < ca.length;i++)
  +
{
{
 
var c = ca[i];
+
var c = ca[i];
while (c.charAt(0)==' ')
+
while (c.charAt(0)==' ')
c = c.substring(1,c.length);
+
c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0)
+
if (c.indexOf(nameEQ) == 0)
return c.substring(nameEQ.length,c.length);
+
return c.substring(nameEQ.length,c.length);
  +
}
}
 
return null;
+
return null;
}
+
}
   
if (readCookie('entreePrelogin') != 'true')
+
if (readCookie('entreePrelogin') != 'true')
{
+
{
createCookie('entreePrelogin', 'true');
+
createCookie('entreePrelogin', 'true');
  +
document.getElementById('ssonot').innerHTML = '<iframe src="https://aselect.entree.kennisnet.nl/openaselect/profiles/entree?id='+eloid+'&url='+encodeURIComponent(elourl)+'">';
 
  +
}
document.getElementById('ssonot').innerHTML = '<iframe src="https://aselect.entree.kennisnet.nl/openaselect/profiles/entree?id='+eloid+'&url='+encodeURIComponent(elourl)+'">';
 
  +
</script>
 
}</script>
 
 
</syntaxhighlight>
 
</syntaxhighlight>
   
===Webpart===
+
==Foutmeldingen==
  +
Als de ingestelde identifier van de IdP niet bekend is binnen Entree Federatie zal de call resulteren in een 400 HTTP status code.<br>
 
  +
Wanneer de URL waarvandaan de call gedaan wordt niet aan de whitelist van Entree Federatie is toegevoegd zal de call ook een 400 HTTP status code opleveren.<br>
 
  +
Neem in deze gevallen contact op met [https://support.kennisnet.org/Tickets/Submit Kennisnet].
* Webpart: http://www.kennisnet.nl/fileadmin/contentelementen/kennisnet/Kennisnet_federatie/Plug-ins/Entree.SSO.1.0.3.wsp
 
 
De webpart is voor SharePoint 2007, voor andere versies kan het script gebruikt worden en geplaatst in een hidden webpart.
 
   
  +
[[Categorie:Entree Federatie]]
In dit script moet de Elo Id en de Elo URL aangepast worden.
 
* Elo Id (Entity Id) : de unieke identifier van de koppeling (kan opgevraagd worden bij Kennisnet).
 
* Elo URL: https://*.domeinnaam.nl (dit moet de locatie/domein zijn waar het script staat).
 

Huidige versie van 17 sep 2020 om 17:10

Het SSO notificatie cookie kan geplaatst worden door, nadat de gebruiker is ingelogd in de ELO of schoolportaal, een call vanuit een iframe naar Entree Federatie uit te voeren.

Voor de implementatie van de SSO notificatie functionaliteit kan het onderstaande script gebruikt worden. In dit script moet de waarde van twee variabelen worden aangepast:

  1. eloid: De unieke identifier waarmee de Identity Provider bekend is binnen Entree Federatie. Dit is het entityId uit de metadata van de Identity Provider. Eventueel kan de identifier ook worden opgevraagd bij Kennisnet.
  2. elourl: De URL van de ELO of schoolportaal waar de call vandaan komt. Dit wordt in de Entree Federatie applicatie gebruikt voor verificatie.

LET OP: Voordat de SSO notificatie wordt geïmplementeerd moet de URL van de ELO of schoolportaal waarvandaan de call wordt uitgevoerd (zie Foutmeldingen) toegevoegd worden aan de whitelist van Entree Federatie. Neem hiervoor contact op met Kennisnet.

<div id="ssonot"></div>

<script type="text/javascript" charset="utf-8">

   var eloid = '';       //EntityId
   var elourl = '';      //ELO URL

   function createCookie(name, value)
   {
      document.cookie = name+"="+value+"; path=/";
   }

   function readCookie(name)
   {
      var nameEQ = name + "=";
      var ca = document.cookie.split(';');
      for(var i=0;i < ca.length;i++) 
      {
         var c = ca[i];
         while (c.charAt(0)==' ')
            c = c.substring(1,c.length);
         if (c.indexOf(nameEQ) == 0)
            return c.substring(nameEQ.length,c.length);
      }
      return null;
   }

   if (readCookie('entreePrelogin') != 'true')
   {
      createCookie('entreePrelogin', 'true');
      document.getElementById('ssonot').innerHTML = '<iframe src="https://aselect.entree.kennisnet.nl/openaselect/profiles/entree?id='+eloid+'&url='+encodeURIComponent(elourl)+'">';
   }
</script>

Foutmeldingen

Als de ingestelde identifier van de IdP niet bekend is binnen Entree Federatie zal de call resulteren in een 400 HTTP status code.
Wanneer de URL waarvandaan de call gedaan wordt niet aan de whitelist van Entree Federatie is toegevoegd zal de call ook een 400 HTTP status code opleveren.
Neem in deze gevallen contact op met Kennisnet.