Implementacija SAML autentikacije u Java web aplikacijama nešto je kompliciranja nego aplikacijama realiziranim uporabom npr. PHP ili .NET platforme jer ne postoji standardiziran način kako implementirati autentikaciju putem sustava AAI@EduHr u Java web aplikacijama. Međutim, neka od rješenja za koja znamo da funkcioniraju u praksi navedena su u nastavku.
Spring Security SAML
Java API koji nudi najviše fleksibilnosti prilikom implementacije u Java aplikacijama, ali je dokumentacija i tehnička podrška nešto skromnija nego kod drugih rješenja:
http://projects.spring.io/spring-security-saml/
- Prilikom registracije resursa u Registru resursa, za SAML parametar "AuthService" potrebno je odabrati opciju "Univerzalni".
- Produkcijski resursi koriste instancu SSO opisanu metapodacima na adresi: https://login.aaiedu.hr/sso/saml2/idp/metadata.php
- Testni resursi koriste instancu SSO opisanu metapodacima na adresi: https://fed-lab.aaiedu.hr/sso/saml2/idp/metadata.php
Shibboleth Service Provider
Shibboleth SP je vjerojatno najrasprostranjenije rješenje za implementaciju SAML SSO autentikacije, ali zahtijeva instalaciju Shibboleth SP daemona i Apache web poslužitelja ispred web poslužitelja unutar kojega se vrti Java web aplikacija:
https://shibboleth.net/products/service-provider/
- Prilikom registracije resursa u Registru resursa, za SAML parametar "AuthService" potrebno je odabrati opciju "Shibboleth".
- Produkcijski resursi koriste instancu SSO opisanu metapodacima na adresi: https://login.aaiedu.hr/shib/saml2/idp/metadata.php
- Testni resursi koriste instancu SSO opisanu metapodacima na adresi: https://fed-lab.aaiedu.hr/shib/saml2/idp/metadata.php
Apache Mod Auth Mellon
Apache modul koji odrađuje SAML SSO autentikaciju. Kao i u prethodnom slučaju, zahtijeva da se Apache vrti ispred web poslužitelja unutar kojega se vrti Java web aplikacija.
- Prilikom registracije resursa u Registru resursa, za SAML parametar "AuthService" potrebno je odabrati opciju "Univerzalni".
- Produkcijski resursi koriste instancu SSO opisanu metapodacima na adresi: https://login.aaiedu.hr/sso/saml2/idp/metadata.php
- Testni resursi koriste instancu SSO opisanu metapodacima na adresi: https://fed-lab.aaiedu.hr/sso/saml2/idp/metadata.php
Za koje god rješenje se odlučite, AAI@EduHr tim vam može pomoći podesiti parametre za povezivanje s AAI@EduHr sustavom jedinstvene autentikacije, ali očekuje se da samu implementaciju nekog od gore navedenih rješenja unutar vaše aplikacije u najvećoj mjeri realizirate sami.
Ako se radi o Java aplikaciji koju ste u potpunosti sami napisali, naša preporuka je da za implementaciju SAML SSO funkcionalnosti iskoristite Spring Security SAML jer se radi o Java biblioteci koji ne zahtijeva instalaciju nikakvih dodatnih servisa.
S druge strane, ako se radi o nekakvoj šire rasprostranjenoj Java aplikaciji, preporučamo da u neku od web tražilica pokušate unijeti naziv aplikacije + Shibboleth jer možda na netu već postoji kuharica kako AAI-zirati navedenu aplikaciju uporabom Shibboleth-a.