Hvordan integrere med Weblogin

For å integrere din tjeneste med Weblogin, trenger du en Service Provider (SP). En SP er den delen av et system som tar seg av kommunikasjonen med en Identity Provider (IdP), som f.eks. Weblogin. SP-en benyttes av din applikasjon, og fungerer som et kontaktpunkt for å utveksle informasjon med Weblogin.

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å:

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 finnes her.

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.

Emneord: Weblogin, teknisk, utvikling Av David Egeland, Mathias Meisfjordskar, Fredrik Larsen
Publisert 15. aug. 2014 10:54 - Sist endret 20. aug. 2014 15:18