Krav til Service Provider
For at en Service Provider skal kunne ta i bruk weblogin m? den:
- St?tte protokollen SAML 2.0.
- St?tte profilen SingleLogout (SLO). Dette er valgfritt i SAML 2.0-spesifikasjonen, men UiO har av sikkerhetsmessige ?rsaker dette som et krav.
- Kunne sende metadata til weblogin for ? sette opp tjenesten.
Oppsett av Service Provider
Den enkleste m?ten ? f? en applikasjon til ? snakke med Weblogin, er ? ta i bruk et ferdig programvare, i form av en SP-modul eller SP-rammeverk. Weblogin har kun st?tte for protokollen SAML2.0. Din SP m? ha st?tte for dette.
En SP kan enten integeres i din tjeneste, eller settes opp som en frittst?ende applikasjon som kontaktes av din tjeneste n?r det er behov for autentisering eller utlogging av brukere.
For ? benytte Weblogin som IdP for din SP, kreves en del konfigurasjon. Hvordan du setter opp og konfigurerer din SP er avhengig av hvilken implementasjon du benytter. Nettsidene til programvaren du benytter b?r ha dokumentasjon om dette.
F?rste steg i prosessen, vil v?re ? legge inn metadata om Weblogin i din SP. Metadata finner du p?:
- weblogin.uio.no: https://weblogin.uio.no/simplesaml/saml2/idp/metadata.php?output=xhtml
- weblogin-test.uio.no: https://weblogin-test.uio.no/simplesaml/saml2/idp/metadata.php?output=xhtml
Etter at metadata er lagt inn, m? du sende en bestilling om ? legge inn metadata for din SP i Weblogin. Dersom du setter opp en ny Service Provider, kreves det at du f?rst integrerer denne mot Weblogin sitt testmilj?, weblogin-test.uio.no.
Forslag til programvare for SP
PHP: SimpleSAMLphp
SimpleSAMLphp er utviklet av Uninett, og benyttes b?de av FEIDE og Weblogin. Det er en komplett tjeneste som kan settes opp b?de som en standalone SP og som en IdP. Dokumentasjonen for hvordan man integrerer SimpleSAMLphp i ens applikasjon er noe tynn, men komplett. Dokumentasjon for SP-oppsett finner du p? SimpleSAMLphp.org
Java: OIOSAML.Java
En java-basert SP som ogs? er mer eller mindre klar til bruk, eventuelt til ? integreres i en annen applikasjon.
Java: Spring Security SAML
Spring-rammeverket for Java har en SAML-modul som kan benyttes b?de som IdP og SP. Spring Security-modulen kan benyttes for ? kombinere SAML-autentisering med andre former for autentisering. Rammeverket benyttes hos UiO i Nettskjema.
Apache: mod_auth_saml
mod_auth_saml er en Apache2 autentiseringsmodul. Denne kan v?re spesielt nyttig for legacy-apps eller applikasjoner der man benytter Apache til ? ta seg av autentisering av brukeren. Som for annen autentisering p? webserverniv? s? vil denne metoden fungere som en gateway der alt innhold som krever innlogging vil provosere frem innlogging. En integrert SP vil kunne la vanlig surfing foreg? anonymt, men f.eks. redigering vil kreve innlogging.
Apache: mod_auth_mellon
mod_auth_mellon er en komplett Apache2 autentiseringsmodul og SP, utviklet av Uninett. Modulen gj?r det enkelt ? gj?re autentisering og aksesskontroll i Apache.
SAML: OpenSAML 2
OpenSAML gir ikke SP- eller IdP-funksjonalitet, men er et rammeverk for ? utvikle tjenester som snakker SAML. Flere SP-er og IdP-er benytter OpenSAML som basis, og dette er et godt startsted dersom du skal utvikle din egen SP. OpenSAML er open source.