Infrastruktur

Hva er den virkelige forskjellen mellom SAML og OIDC?

To av de viktigste autentiseringsprotokollene er:

  • Security Access Markup Language (SAML)
  • OpenID Connect (OIDC)

De fleste applikasjoner støtter bare ett av disse alternativene, men noen ganger må du kanskje velge mellom SAML og OIDC. Så det kan være nyttig å vite hva forskjellen er, slik at du kan velge hva som vil fungere best for din organisasjon.

Hvordan er SAML og OIDC like?

Både SAML og OIDC regnes som identitetsprotokoller. De gir en måte brukere kan autentiseres på og brukerinformasjon kan overføres på en sikker måte mellom systemet som utfører autentiseringen, ellers kjent som identitetsleverandøren (IdP) og tjenesten eller applikasjonen brukeren prøver å få tilgang til. Et av de viktigste trinnene for å aktivere denne formen for Single Sign-On (SSO) er at det må settes opp en tillit mellom IdP og applikasjonen. SAML og OIDC er nøkkelprotokoller som brukes i enhver SSO-løsning fordi formålet med en SSO-løsning er at brukere bare trenger å autentisere én gang med IdP, og deretter kan de få tilgang til alle applikasjonene som er konfigurert til å stole på IdP.

Den grunnleggende påloggingsflyten for begge er den samme.

  1. En bruker logger på identitetsleverandøren.
  2. De velger hvilken app de vil gå til.
  3. Brukerens informasjon overføres fra IdP til brukerens nettleser.
  4. Informasjonen deres blir deretter gitt videre til søknaden.
  5. Applikasjonen bekrefter at de er autorisert til å få tilgang til ressurser.
  6. Brukeren er tillatt i applikasjonen.

Påloggingsflyten kan også se slik ut:

  1. En bruker prøver å logge direkte på applikasjonen.
  2. Applikasjonen omdirigerer påloggingsforespørselen gjennom brukerens nettleser til IdP.
  3. Brukeren logger inn på IdP eller er bekreftet allerede å være pålogget IdP
  4. IdP bekrefter at brukeren har tilgang til applikasjonen som sendte forespørselen.
  5. Brukerens informasjon overføres fra IdP til brukerens nettleser.
  6. Informasjonen deres blir deretter gitt videre til søknaden.
  7. Applikasjonen bekrefter at de er autorisert til å få tilgang til ressurser.
  8. Brukeren er tillatt i applikasjonen.

Hvordan skiller SAML og OIDC seg?

SAML

SAML er eldre enn OIDC. SAML kom først på banen i 2005. Den overfører data som brukernes brukernavn, fornavn, etternavn osv. ved hjelp av XML.

SAML refererer til applikasjonen som tjenesteleverandøren (SP) og refererer til informasjonen den sender fra IdP til SP som en påstand.

Faktisk blir den første flyten vi beskrev ovenfor referert til som en identitetsleverandør-initiert (IdP-initiert) SSO.

Flyten som begynner med at brukeren prøver å logge direkte på applikasjonen eller SP først, refereres til som Service Provider-Initiated (SP-Initiated) SSO.

SAML er fortsatt en av de mest populære SSO-protokollene som er i bruk i dag.

OIDC

OIDC er bygget av OAuth 2.0-protokollen. Mens OAuth 2.0 brukes til å sette opp slik at to applikasjoner som to nettsteder kan stole på hverandre og sende data frem og tilbake, fungerer OIDC på individ- eller brukernivå.

Sammenlignet med SAML fungerer OIDC påloggingsflyter på samme måte. Men det er tre hovedforskjeller:

  1. SAML overfører brukerdata i XML-format. OIDC overfører brukerdata i JSON-format.
  2. SAML kaller brukerdataene den sender en SAML-påstand. OIDC kaller dataene for krav.
  3. SAML kaller opp applikasjonen eller systemet brukeren prøver å komme inn i tjenesteleverandøren. OIDC kaller det Relying Party.

Så den generelle flyten ser lik ut, bare etikettene er forskjellige.

OpenID Connect blir stadig mer populært. Det er mye enklere å implementere enn SAML og lett tilgjengelig gjennom APIer fordi det fungerer med RESTful API-endepunkter. Dette betyr også at det fungerer mye bedre med mobilapplikasjoner.

Når du konfigurerer SSO til en applikasjon gjennom en IdP som OneLogin, vil du ikke ofte ha et valg mellom SAML og OIDC. Valgene dine er basert på hva applikasjonsutviklerne velger å støtte. Men hvis du har valget, er det viktig å forstå hva forskjellen er mellom de to og hvilken som er mer sannsynlig å bli støttet lenger. På dette tidspunktet, fordi utviklere synes OIDC er mye enklere å jobbe med og fordi det er mer fleksibelt, ser OIDC ut til å bli vinneren.

Similar Posts