„IsPassive” változatai közötti eltérés
(Ú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 | + | * 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''' | ||
− | |||
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-->