OpenID forritun: Lærðu að höndla Universal innskráningu

Birting: Stuðningur þinn hjálpar til við að halda vefnum í gangi! Við þénum tilvísunargjald fyrir sumar þjónusturnar sem við mælum með á þessari síðu.


OpenID er vísvitandi frjáls dreifð auðkenningaraðferð. Það veitir leið fyrir örugg auðkenningarkerfi, svo sem Google Sign-In, til að auðkenna notendur þegar þeir opna vefsíður og forrit þriðja aðila. Takk fyrir OpenID og önnur dreifð auðkenningarkerfi, persónuleg blogg, vefsíður fyrir smáfyrirtæki og farsímaforrit geta notað örugg auðkenningarkerfi sem hafa verið hönnuð og útfærð af leiðtogum iðnaðarins.

Saga OpenID

OpenID fæddist í maí 2005 þegar Brad Fitzpatrick, stofnandi LiveJournal, tilkynnti um nýtt dreift kennimarkerfi sem kallast Yadis (Yet Another Distribed Identity System). Upprunalega tilkynningin skýrði að Brad sá fyrir sér Yadis sem aðferð til að staðfesta notendur LiveJournal á vefsíður þriðja aðila. Nokkrum dögum síðar var Yadis endurnefnt til OpenID þegar lénið openid.net var hæfileikaríkur til notkunar með verkefninu.

OpenID 1.0 var hugmyndaramma með takmarkaða raunverulegan notagildi. Þróun færðist þó hratt við og var tilkynnt um OpenID 2.0 um það bil ári eftir að verkefninu var hrundið af stað. Samþykkt OpenID 2.0 var útbreidd og hröð og snemma árs 2007 voru Symantec, Microsoft, AOL og Sun Microsystems um borð.

Árið 2014 fæddist OpenID Connect. Þessi nýja kynslóð OpenID býður upp á tvær athyglisverðar endurbætur í samanburði við OpenID 2.0:

  • Það er smíðað ofan á öflugu samskipta- og heimildarferli OAuth 2.0.
  • Það er vingjarnlegra og auðveldara að samþætta farsímaforrit en forverar þess.

Hver notar OpenID?

OpenIDs eru gefin út af mörgum vinsælum vefsíðum, þar á meðal Google, Yahoo !, Microsoft og PayPal. Þegar þú skráir þig á eitt af þessum síðum er þér úthlutað OpenID. Fyrir vikið ertu líklega með eitt, tvö eða handfylli af OpenIDs, jafnvel þó þú gerir þér ekki grein fyrir því.

Vefsíður af öllum gerðum – netverslunarsíður, blogg, samfélagsnet og fleira – nota OpenID til að sannvotta notendur. Eins og staðreynd, það eru meira en einn milljarður skráður OpenIDs og meira en ein milljón vefsíður og forrit sem samþykkja OpenIDs fyrir auðkenningu notenda.

Hvernig virkar OpenID?

Það eru þrír aðilar sem taka þátt í auðkenningu OpenID notenda:

  • Lokanotandi: Einstaklingurinn sem leitar að sannvotta sig – það er að segja innskráningu – á vefsíðu eða forriti.
  • Reiða sig hluti (RP): Vefsíða eða forrit sem krefst staðfestingar notenda og reiðir sig á OpenID samskiptareglur til að eiga samskipti við þriðja aðila til að sannvotta endanotendur.
  • Auðkenni veitir (IDP): Þjónusta frá þriðja aðila, svo sem Google, sem skráir OpenIDs og veitir OpenID auðkenningarþjónustu.

Með þessum þremur aðilum sem skilgreindir eru, þá virkar OpenID:

  1. Endanotandi gerir tilkall til OpenID með því að skrá reikning hjá IDP.
  2. IDP býr til OpenID slóð fyrir endanotandann. Þessi vefslóð er einstök fyrir endanotandann og til að krefjast eignarhalds á slóðinni þarf endir notandi að skrá sig inn í kerfið IDP. Til dæmis, ef þú notar Google sem IDP, búa þeir til Google+ slóð fyrir þína hönd sem þjónar sem OpenID slóðin þín, og þú verður að skrá þig inn á Google reikninginn þinn til að staðfesta eignarhald á þeirri slóð.
  3. Endanotandinn heimsækir OpenID RP og velur möguleika á að skrá reikning með því að skrá sig inn hjá þriðja aðila IDP, svo sem Google.
  4. Lokanotandinn er vísað til IDP frá þriðja aðila og beðinn um að staðfesta eignarhald á OpenID slóðinni með því að skrá sig inn.
  5. Ef notandi er staðfestur af IDP, þá sendir IDP endanlegan notanda OpenID slóðina til RP og RP skráir nýjan notanda með slóðinni.

Á engum tímapunkti fær RP endanlegir notendur lykilorð. Fyrir vikið þurfa RP ekki að hafa áhyggjur af því að geyma lykilorð notanda á öruggan hátt. IDP annast auðkenningu og staðfestir síðan auðkenni notenda fyrir RP með OpenID slóð notanda.

Búðu til þína eigin OpenID slóð með phpMyID

Hingað til höfum við notað dæmi um þekkta OpenID veitendur. Hins vegar er OpenID viljandi ókeypis. Það þýðir að hver sem er – jafnvel þú – getur skráð OpenIDs og þjónað sem IDP. Það er örugglega slæm hugmynd að setja upp og bjóða upp á OpenID skráningu nema þú sért sérfræðingur á vefnum. Hins vegar, ef þú vilt setja upp OpenID IDP til eigin nota og menntunar, þá er það í raun ekki svo erfitt.

phpMyID er einfalt handrit sem þú getur notað til að setja upp hvaða vefslóð sem þú stjórnar sem þitt eigið persónulega OpenID. Upprunalega verkefnið var yfirgefið aftur árið 2008 og virkaði ekki með PHP 5.4. Hins vegar, með nokkrum uppfærslum og öryggisbótum, var verkefnið komið upp með PHP 5.4 og 5.6 og þú getur fengið það frá GitHub.

Þess má geta að phpMyID uppfyllir ekki forskriftir OpenID Connect. Þú getur samt notað það til að búa til OpenID 2.0 slóðir.

Hafðu í huga að phpMyID er aðeins eins örugg og útgáfan af PHP sem keyrir handritið, öryggisaðgerðirnar sem þú hefur sett upp og öryggisráðstafanirnar til að vernda netþjóninn þar sem hann er vistaður. Fyrir vikið er það áhugavert verkefni að setja upp eigin OpenID með phpMyID, en að lokum er áhættusamt viðleitni nema þú hafir nauðsynlega þekkingu til að tryggja að það sé öruggt. Með öðrum orðum, notaðu phpMyID til að læra um OpenID, en ekki nota það til almennra sannvottunar notenda.

Auðlindir

Ef þú vilt fella OpenID sannvottun í næsta verkefni þitt þá eru nokkur úrræði tiltæk til að hjálpa þér að byrja.

Yfirlit yfir OpenID

Áður en þú kýst í framkvæmd muntu vilja hafa traustan hátt skilning á því hvernig OpenID virkar. Eftirfarandi úrræði veita yfirsýn yfir háu stigi sem þú þarft:

  • Algengar spurningar með OpenID Connect og Q&Sem: almennar spurningar frá OpenID Foundation. Sjá þessa síðu til að fá ítarlega kynningu á OpenID.
  • Ábendingar um forritara frá OpenID útskýrt: ef þú ert að innleiða OpenID í fyrsta skipti skaltu lesa í gegnum þessi ráð til að forðast algengar gryfjur.
  • OpenID Connect í hnotskurn eftir Nat Sakimura: ef þér líður svolítið hræða við útfærslu OpenID þá veitir þessi stutta grein yfirlit yfir það hvernig treysta félagar og persónuupplýsendur hafa samskipti.
  • Skrifaðu OpenID Connect netþjón í þremur einföldum skrefum eftir Nat Sakimura: það er engin betri leið til að læra en með því að gera. Ef þú ert þegar í gangi með OAuth 2.0, þá mun þessi einkatími leiða þig í gegnum ferlið við að setja fljótt upp OpenID Connect miðlara ofan á OAuth 2.0 sannvottun.

Tæknilegar auðlindir

Ef þú ert tilbúinn að fara lengra en kynningar og yfirlit og kafa í framkvæmd, þá eru tækniforskriftir og bókasöfn sem þú þarft aðgang að.

  • Bókasöfn, vörur og verkfæri: þessi listi yfir OpenID bókasöfn, vörur og verkfæri er viðhaldið af OpenID Foundation. Ef þú ert þegar með þróunarramma eða tungumál í huga fyrir verkefnið þitt, þá eru mjög góðar líkur á að þú finnir tæki, vöru eða bókasafn fyrir umhverfi þitt á þessum lista. Tiltæk úrræði eru bókasöfn skrifuð fyrir JavaScript, Java, PHP, Python, Ruby, C #, C og mörg önnur tungumál, svo og OpenID vörur frá Amazon Web Services, Microsoft Azure, Ping Identity og mörgum öðrum veitendum.
  • Verið velkomin í OpenID Connect: þessi opinbera heimasíða fyrir OpenID Connect inniheldur tengla á OpenID forskriftina. Fyrirliggjandi skjöl innihalda OpenID Connect Core forskriftina, Basic Client Implementer’s Guide, Implicit Client Implementer’s Guide og margt fleira.
  • OpenID Provider veitendur: Sumir OpenID veitendur bjóða víðtæk gögn svo að verktaki geti notað OpenID kerfin sín til að auðkenna notendur.
    • Google Identity Platform: OpenID Connect
    • PayPal verktaki: Samþætt innskráning með PayPal
    • Yahoo Developer Network: OpenID Connect
    • Microsoft Azure: Leyfa aðgang að vefforritum með OpenID Connect og Azure Active Directory

Bækur

Vel yfirfarnar bækur sem kynna OpenID og útskýra framkvæmd sannvottunar eru einnig fáanlegar.

  • OAuth 2.0: Getting Started in API Security (2015) eftir Matthias Biehl: stutt kynning á OAuth 2.0 og OpenID Connect sem mun skapa grunninn fyrir að takast á við fullkomnari efni.
  • Háþróað API öryggi: Að tryggja API með OAuth 2.0, OpenID Connect, JWS og JWE (2014) eftir Prabath Siriwardena: ítarlega kynning á API sannvottun sem nær yfir vinsælustu staðfestingastaðla í dag þar á meðal OAuth 2.0 og OpenID. Þetta er ekki fljótt að lesa yfir 250 blaðsíður.
  • Byrjaðu með OAuth 2.0 (2012) eftir Ryan Boyd: stutta kynningu á útfærslu OAuth 2.0 fyrir auðkenningu notenda. Þessi árangursmiðaði texti kynnir OAuth 2.0 og útskýrir hvernig OpenID Connect gerir auðkenningu mögulegt án þess að þurfa að byggja upp staðfestingarkerfi.

Næstu skref

OpenID Connect er ekki sjálfstætt staðfestingarpróf. Til að nota það þarftu einnig að hafa þekkingu á OAuth 2.0 því öll OpenID Connect kerfin eru byggð ofan á henni. Námsferillinn til að byrja með OpenID Connect er brattur. Það er margt að læra. Þegar þú hefur náð góðum tökum á því munt þú geta samþætt mjög örugga sannvottun notenda á vefsíðuna þína eða forritið með tiltölulega lágmarks læti.

Frekari upplestur og úrræði

Við höfum fleiri handbækur, námskeið og infografics sem tengjast forritun og þróun:

  • OAuth kynning og auðlindir: nátengt kerfi sem leyfir tvö forrit fyrir hönd notanda.
  • OpenSSL kynning, námskeið og úrræði: byrjaðu að búa til öruggar vefsíður með SSL.
  • Snögg kynning og auðlindir: þetta er eitt nýjasta tungumálið sem líkist C. Framtíð forritunar? Finndu það hér!

Hvaða kóða ætti að læra?

Ruglaður um hvaða forritunarmál þú ættir að læra að kóða á? Skoðaðu infographic okkar, hvaða kóða ættir þú að læra? Það fjallar ekki aðeins um mismunandi þætti tungumálsins, það svarar mikilvægum spurningum eins og „Hve miklum peningum mun ég græða á forritun á Java?“

Hvaða kóða ættirðu að læra?
Hvaða kóða ætti að læra?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me