„IsPassive” változatai közötti eltérés

Innen: KIFÜ Wiki
(Új oldal, tartalma: „Az isPassive használatával elérhetjük, hogy lazy session-nel védett oldalunkra a felhasználó bejelentkezése automatikusan megtörténjen. Ehhez két feltétel egy...”)
 
1. sor: 1. sor:
 +
Az isPassive SAML2-ben bevezetett lehetőség, mellyel utasíthatjuk az alkalmazást, hogy semmiféle látható felhasználói interakciót ne engedélyezzen az IdP-vel.
 +
 +
 +
'''Miért jó?'''
 +
 
Az isPassive használatával elérhetjük, hogy lazy session-nel védett oldalunkra a felhasználó bejelentkezése automatikusan megtörténjen. Ehhez két feltétel együttes teljesülése szükséges
 
Az isPassive használatával elérhetjük, hogy lazy session-nel védett oldalunkra a felhasználó bejelentkezése automatikusan megtörténjen. Ehhez két feltétel együttes teljesülése szükséges
 
* a felhasználó már rendelkezik az IdP-je által hitelesített munkamenettel
 
* a felhasználó már rendelkezik az IdP-je által hitelesített munkamenettel
* a Discovery Service képes az IdP-vel háttérben kommunikálni, s a felhasználóról érdeklődni
+
* a Discovery Service képes a felhasználót hitelesítő IdP-vel háttérben kommunikálni, s a felhasználóról érdeklődni
 +
 
 +
Amennyiben ezen feltételek közül legalább az egyik nem teljesül, úgy az SP hibát fog dobni. Ezt oly módon kell lekezelnünk, hogy a <code>redirectErrors</code> attribútum lehetőségét kihasználva megadjuk, hogy Shibboleth hiba esetén melyik oldalra dobjon át minket a rendszer.
 +
 
 +
 
 +
'''Működése a gyakorlatban'''
  
Az isPassive csak SAML2-t használó SP-nél működik.
 
  
  

A lap 2009. február 4., 14:48-kori változata

Az isPassive SAML2-ben bevezetett lehetőség, mellyel utasíthatjuk az alkalmazást, hogy semmiféle látható felhasználói interakciót ne engedélyezzen az IdP-vel.


Miért jó?

Az isPassive használatával elérhetjük, hogy lazy session-nel védett oldalunkra a felhasználó bejelentkezése automatikusan megtörténjen. Ehhez két feltétel együttes teljesülése szükséges

  • a felhasználó már rendelkezik az IdP-je által hitelesített munkamenettel
  • a Discovery Service képes a felhasználót hitelesítő IdP-vel háttérben kommunikálni, s a felhasználóról érdeklődni

Amennyiben ezen feltételek közül legalább az egyik nem teljesül, úgy az SP hibát fog dobni. Ezt oly módon kell lekezelnünk, hogy a redirectErrors attribútum lehetőségét kihasználva megadjuk, hogy Shibboleth hiba esetén melyik oldalra dobjon át minket a rendszer.


Működése a gyakorlatban


<!-- START: isPassive script-->
<script type="text/javascript" language="javascript">
<!--
// Written by Lukas Haemmerle <lukas.haemmerle@switch.ch>, SWITCH

// Check for session cookie that contains the initial location
if(document.cookie && document.cookie.search(/_check_is_passive=/) >= 0){
	// If we have the opensaml::FatalProfileException GET arguments
	// redirect to initial location because isPassive failed
	if (
		window.location.search.search(/errorType/) >= 0
		&& window.location.search.search(/RelayState/) >= 0
		&& window.location.search.search(/requestURL/) >= 0
	) {
		var startpos = (document.cookie.indexOf('_check_is_passive=')+18);
		var endpos = document.cookie.indexOf(';', startpos);
		window.location = document.cookie.substring(startpos,endpos);
	}
} else {
	// Mark browser as being isPassive checked
	document.cookie = "_check_is_passive=" + window.location;

	// Redirect to Shibboleth handler
	window.location = "/Shibboleth.sso/DS?isPassive=true&target=" + encodeURIComponent(window.location);
}

</script>
<!-- END: isPassive script-->