Autentikacijska i autorizacijska infrastruktura sustava znanosti i visokog obrazovanja u Republici Hrvatskoj
  • Hrvatski
  • English

Kako implementirati autentikaciju putem sustava AAI@EduHr u Java aplikacijama?

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.