Gå til innhold

Portal, felles autentisering


Anbefalte innlegg

Her jeg jobber, har vi integrert FEIDE (Felles elektronisk identitet), og holder derfor på å utvikle en felles portal, for bruk av eksterne tjenester.

 

Alle de eksterne tjenestene autentiserer mot vår brukerdatabase, så man logger dermed på med samme brukernavn/passord på alle tjenester (derav FEIDE).

 

Det jeg nå ønsker å utvikle, er en single-signon webside, som autentiserer brukeren mot de eksterne tjenestene. Tenkte derfor litt i di baner, at når klienten logger inn, sendes xmlhttprequest med brukernavn/passord til hver av tjenestene, og autentiserer brukeren i alle tjenestene.

 

Portalen består stort sett av linker og en iframe...

 

Problemet som oppstår er følgende; I disse phising-dager sperres etter det jeg skjønner xmlhttprequest mot andre servere, enn den serveren du faktisk henter siden fra. Jeg skal jo autentisere mot eksterne siter, med postvariabler og https.

 

Noen som har noen idéer om hvordan dette lar seg gjøres? (Hvis jeg har forklart bra nok)

 

Tenkte også litt på phproxy eller liknende, men liker ikke helt tanken.

Lenke til kommentar
Videoannonse
Annonse

Utfør validering av brukeren på den serveren han logger inn på, deretter så kan serveren kommuniserer med dei andre serveren og å logge inn brukere i hele nettverket (curl, sockets ?).

 

Er ingen sikkerhet ekspert men eg tror dette vil kunne gå bra

Lenke til kommentar
Utfør validering av brukeren på den serveren han logger inn på, deretter så kan serveren kommuniserer med dei andre serveren og å logge inn brukere i hele nettverket (curl, sockets ?).

 

Er ingen sikkerhet ekspert men eg tror dette vil kunne gå bra

Dette var første tanken min også faktisk, men problemet er at det må være klienten som gjør dette, siden den må ha session-cookies fra de forskjellige domenene.

 

Har uansett funnet en litt "jalla", men ok, løsning på webmail-tjenesten vår.

 

Denne er exchange basert, men la in PHP i tillegg til ASP. Setter så document.iframe.src til webmail.domene.org/portal.php?brukernavn=bruker&passord=pass, og dette scriptet henter post-variablene, lager en <form> og kjører en <body onload=" document.form.submit() ">.

 

Klienten mellomlagrer riktignok brukernavnet og passordet sitt i javascript-variabler, men det står i alle fall aldri i kildekoden, og alle tjenester er https.

 

Lurer dog litt på om jeg klarer å få tjenestetilbyderene til å legge inn et enkelt script på serverene sine.

Lenke til kommentar

Send brukeren til innloggingssiden, og deretter brukeren tilbake til den siden han kom fra.

Se ellers hvordan de gjør det med OpenID der man benytter et lignende system.

 

Ellers vil jeg fraråde deg fra å bruke Javascript til innlogging ettersom det vil stoppe brukere som meg som surfer med javascript avskrudd.

Endret av JonT
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...