Дастури тасвирӣ барои OAuth ва OpenID Connect

Шарҳ. тарҷума.: Ин мақолаи олиҷаноби Окта мефаҳмонад, ки чӣ тавр OAuth ва OIDC (OpenID Connect) ба таври оддӣ ва равшан кор мекунанд. Ин дониш барои таҳиягарон, маъмурони система ва ҳатто "истифодабарандагони муқаррарии" веб-барномаҳои маъмул муфид хоҳад буд, ки эҳтимолан маълумоти махфиро бо дигар хидматҳо мубодила мекунанд.

Дар асри сангин Интернет мубодилаи маълумот байни хидматҳо осон буд. Шумо танҳо логин ва гузарвожаи худро аз як хидмат ба хидмати дигар додед, то ӯ ба ҳисоби шумо ворид шуд ва ҳама маълумоти лозимиро гирифт.

Дастури тасвирӣ барои OAuth ва OpenID Connect
"Ҳисоби бонкии худро ба ман деҳ." «Мо ваъда медиҳем, ки бо парол ва пул ҳама чиз хуб мешавад. Ин ростқавл аст, ростқавл! ” *хи хи*

Даҳшат! Ҳеҷ кас набояд ҳеҷ гоҳ аз корбар мубодилаи номи корбар ва паролро талаб кунад, эътимоднома, бо хидмати дигар. Ҳеҷ кафолате нест, ки созмоне, ки дар паси ин хидмат қарор дорад, маълумотро бехатар нигоҳ медорад ва маълумоти шахсии бештар аз заруриро ҷамъ намекунад. Ин метавонад девона садо диҳад, аммо баъзе барномаҳо то ҳол ин амалро истифода мебаранд!

Имрӯз стандарти ягона вуҷуд дорад, ки ба як хидмат имкон медиҳад, ки маълумоти дигарро бехатар истифода барад. Мутаасифона, дар ин гуна меъёрҳо бисёр жаргонҳо ва истилоҳот истифода мешаванд, ки фаҳмидани онҳоро душвор мегардонад. Мақсади ин мавод фаҳмонидани он аст, ки чӣ тавр онҳо бо истифода аз тасвирҳои оддӣ кор мекунанд (Фикр кунед, ки расмҳои ман ба ороиши кӯдакон монанданд? Оҳ!).

Дастури тасвирӣ барои OAuth ва OpenID Connect

Дар омади гап, ин дастур инчунин дар формати видео дастрас аст:

Хонумҳо ва ҷанобон, хуш омадед: OAuth 2.0

OAuth 2.0 стандарти амниятест, ки ба як барнома имкон медиҳад, ки барои дастрасӣ ба иттилоот дар замимаи дигар иҷозат диҳад. Пайдарҳамии қадамҳои додани иҷозатнома [иҷозат]розигӣ [ризоият]) тез-тез занг мезананд иҷозат [иҷозатнома] ё ҳатто ваколати додашуда [иҷозати додашуда]. Бо ин стандарт, шумо ба барнома иҷозат медиҳед, ки маълумотро хонед ё аз номи шумо функсияҳои барномаи дигарро бидуни додани пароли шумо истифода барад. Класс!

Ба унвони мисол, биёед бигӯем, ки шумо сайтеро кашф кардед бо номи "Шумои бебахти рӯз" [Шумои даҳшатноки рӯз] ва тасмим гирифт, ки дар он сабти ном шавад, то ҳар рӯз дар шакли паёмакҳо дар телефон калимаҳоро бигирад. Сайт ба шумо хеле писанд омад ва шумо тасмим гирифтед, ки онро бо ҳамаи дӯстонатон мубодила кунед. Дар ниҳоят, ҳама калимаҳои даҳшатангезро дӯст медоранд, дуруст?

Дастури тасвирӣ барои OAuth ва OpenID Connect
"Шумои бадбахти рӯз: Дар бораи бачае, ки нисфи чапи баданашро гум кардааст, шунидаед? Ҳоло ӯ ҳамеша ҳақ аст! ” (тарҷумаи тахминӣ, зеро асл калимаи худро дорад - тақрибан тарҷума.)

Маълум аст, ки аз рӯйхати тамосҳо ба ҳар як шахс навиштан имкон надорад. Ва, агар шумо каме ҳам ба ман монанд бошед, пас шумо ба ҳама чиз меравед, то кори нолозимро пешгирӣ кунед. Хушбахтона, Pun Terrible of the Day метавонад ҳамаи дӯстони шуморо худаш даъват кунад! Барои ин ба шумо лозим аст, ки дастрасӣ ба почтаи электронии мухотибонатонро кушоед - худи сайт ба онҳо даъватномаҳо (қоидаҳои OAuth) мефиристад!

Дастури тасвирӣ барои OAuth ва OpenID Connect
"Ҳама калимаҳоро дӯст медорад! - Аллакай ворид шудаед? "Оё шумо мехоҳед ба вебсайти даҳшатноки рӯз иҷозат диҳед, ки ба рӯйхати тамосҳои шумо дастрасӣ пайдо кунад? - Сипос! Минбаъд, мо ҳар рӯз ба ҳар касе, ки шумо медонед, то охири вақт ёдраскуниҳо мефиристем! Ту беҳтарин дӯст ҳастӣ!"

  1. Хидмати почтаи электронии худро интихоб кунед.
  2. Агар лозим бошад, ба сайти почта равед ва ба ҳисоби худ ворид шавед.
  3. Ба Terrible Pun of Day барои дастрасӣ ба мухотибон иҷозат диҳед.
  4. Бозгашт ба сайти даҳшатангези рӯз.

Дар сурати тағир додани ақида, барномаҳое, ки OAuth-ро истифода мебаранд, инчунин роҳи бозхонди дастрасиро фароҳам меоранд. Пас аз он ки шумо қарор медиҳед, ки дигар намехоҳед тамосҳоро бо Terrible Pun of Day мубодила кунед, шумо метавонед ба сайти почта равед ва сайти порчаро аз рӯйхати замимаҳои ваколатдор хориҷ кунед.

Ҷараёни OAuth

Мо танҳо аз он чизе, ки одатан номида мешавад, гузаштем ҷараён [ҷараён] OAuth. Дар мисоли мо, ин ҷараён аз қадамҳои намоён ва инчунин якчанд қадамҳои ноаён иборат аст, ки дар онҳо ду хидмат дар бораи мубодилаи бехатари иттилоот мувофиқат мекунанд. Намунаи пешинаи даҳшатноки Пун аз рӯз ҷараёни маъмултарини OAuth 2.0-ро истифода мебарад, ки ҳамчун ҷараёни "рамзи авторизатсия" маъруф аст. [Ҷараёни "рамзи авторизатсия"].

Пеш аз он ки ба тафсилоти он, ки чӣ тавр OAuth кор мекунад, биёед дар бораи маънои баъзе истилоҳҳо сӯҳбат кунем:

  • Соҳиби захираҳо:

    Дастури тасвирӣ барои OAuth ва OpenID Connect

    Ин шумоед! Шумо соҳиби эътимоднома, маълумоти шумо ҳастед ва ҳама фаъолиятҳоеро, ки дар ҳисобҳои шумо иҷро мешаванд, назорат мекунед.

  • мизоҷ:

    Дастури тасвирӣ барои OAuth ва OpenID Connect

    Барномае (масалан, хидмати даҳшатноки рӯз), ки мехоҳад аз номи Соҳиби захираҳо'а.

  • Сервери авторизатсия:

    Дастури тасвирӣ барои OAuth ва OpenID Connect

    Барномае, ки медонад Соҳиби захираҳо'а ва дар он у Соҳиби захираҳо'а аллакай ҳисоб дорад.

  • сервери захиравӣ:

    Дастури тасвирӣ барои OAuth ва OpenID Connect

    Интерфейси барномасозии барнома (API) ё хидмате, ки мизоҷ аз номи истифода кардан мехохад Соҳиби захираҳо'а.

  • Бозгашти URI:

    Дастури тасвирӣ барои OAuth ва OpenID Connect

    Истиноди он Сервери авторизатсия равона хоҳад кард Соҳиби захираҳо'ва баъд аз додани ичозат мизоҷ'дар. Он баъзан ҳамчун "URL-и бозхонд" номида мешавад.

  • Навъи ҷавоб:

    Дастури тасвирӣ барои OAuth ва OpenID Connect

    Навъи иттилооте, ки интизор меравад, гирифта шавад мизоҷ. Аз ҳама маъмул Навъи ҷавоб'ohm код аст, яъне мизоҷ кабул карданро интизор аст Кодекси иҷозат.

  • доираи:

    Дастури тасвирӣ барои OAuth ва OpenID Connect

    Ин тавсифи муфассали иҷозатҳое мебошад, ки талаб карда мешаванд мизоҷ'y, ба монанди дастрасӣ ба маълумот ё иҷрои амалҳои муайян.

  • розигӣ:

    Дастури тасвирӣ барои OAuth ва OpenID Connect

    Сервери авторизатсия мегирад Масоҳатҳодархост кард мизоҷ'ом ва мепурсад Соҳиби захираҳо'а, оё вай барои таъмин кардан тайёр аст мизоҷ'иҷозатҳои мувофиқ доранд.

  • ID муштарӣ:

    Дастури тасвирӣ барои OAuth ва OpenID Connect

    Ин ID барои муайян кардан истифода мешавад мизоҷ'а дар Сервери авторизатсия'е.

  • Сирри муштариён:

    Дастури тасвирӣ барои OAuth ва OpenID Connect

    Ин паролест, ки танҳо маълум аст мизоҷ'у ва Сервери авторизатсия'дар. Он ба онҳо имкон медиҳад, ки маълумотро ба таври хусусӣ мубодила кунанд.

  • Кодекси иҷозат:

    Дастури тасвирӣ барои OAuth ва OpenID Connect

    Рамзи муваққатӣ бо мӯҳлати кӯтоҳи амал, ки мизоҷ таъмин менамояд Сервери авторизатсия'й ба ивази Дастрасӣ ба Token.

  • Дастрасӣ ба Token:

    Дастури тасвирӣ барои OAuth ва OpenID Connect

    Калид, ки муштарӣ барои муошират бо он истифода хоҳад кард сервери захиравӣ'ом. Як навъ нишона ё корти калидӣ, ки таъмин менамояд мизоҷ'иҷозат барои дархост кардани маълумот ё иҷрои амалҳо дар сервери захиравӣаз номи шумо.

эрод гирифтан: Баъзан сервери авторизатсия ва сервери захиравӣ як сервер мебошанд. Аммо, дар баъзе мавридҳо, онҳо метавонанд серверҳои гуногун бошанд, ҳатто агар онҳо ба як созмон тааллуқ набошанд. Масалан, сервери авторизатсия метавонад хидмати тарафи сеюм бошад, ки аз ҷониби сервери захираҳо эътимод дорад.

Акнун, ки мо консепсияҳои асосии OAuth 2.0-ро фаро гирифтем, биёед ба мисоли худ баргардем ва ба он чизе, ки дар ҷараёни OAuth рух медиҳад, бодиққат назар кунем.

Дастури тасвирӣ барои OAuth ва OpenID Connect

  1. Шумо, Соҳиби захираҳо, шумо мехоҳед хидмати даҳшатноки рӯзро пешниҳод кунед (мизоҷy) дастрасӣ ба мухотибон, то онҳо тавонанд ба ҳамаи дӯстони шумо даъватнома фиристанд.
  2. мизоҷ браузерро ба саҳифа равона мекунад Сервери авторизатсия'a ва ба дархост дохил кунед ID муштарӣ, Бозгашти URI, Навъи ҷавоб ва як ё якчанд Масоҳатҳо (иҷозатҳо) ба он ниёз доранд.
  3. Сервери авторизатсия шуморо тасдиқ мекунад ва агар лозим бошад, номи корбар ва паролро мепурсад.
  4. Сервери авторизатсия шакл нишон медихад розигӣ (тасдиқҳо) бо рӯйхати ҳама Масоҳатҳодархост кард мизоҷ'ом. Шумо розӣ мешавед ё рад мекунед.
  5. Сервери авторизатсия шуморо ба сайт равона мекунад мизоҷ'а, истифода Бозгашти URI якҷоя бо Кодекси иҷозат (коди иҷозатдиҳӣ).
  6. мизоҷ бо бевосита муошират мекунад Сервери авторизатсия'ohm (аз браузер Соҳиби захираҳо'а) ва бехатар мефиристад ID муштарӣ, Сирри муштариён и Кодекси иҷозат.
  7. Сервери авторизатсия маълумотро тафтиш мекунад ва бо он ҷавоб медиҳад Дастрасӣ ба Token'om (аломати дастрасӣ).
  8. Акнун мизоҷ истифода бурда метавонад Дастрасӣ ба Token барои фиристодани дархост ба сервери захиравӣ барои гирифтани рӯйхати алоқаҳо.

ID муштарӣ ва сирри

Хеле пеш аз он ки шумо ба Terrible Pun of Day иҷозат диҳед, ки ба мухотибонатон дастрасӣ пайдо кунед, сервери муштарӣ ва авторизатсия муносибати корӣ барқарор карда буд. Сервери авторизатсия ID мизоҷ ва сирри муштариро тавлид кард (баъзан номида мешавад ID-и барнома и Сирри барнома) ва онҳоро ба муштарӣ барои ҳамкории минбаъда дар доираи OAuth фиристод.

Дастури тасвирӣ барои OAuth ва OpenID Connect
"- Салом! Ман мехоҳам бо шумо кор кунам! - Албатта, мушкил нест! Ин аст ID мизоҷ ва сирри шумо! ”

Ин ном маънои онро дорад, ки сирри муштарӣ бояд махфӣ нигоҳ дошта шавад, то онро танҳо сервери муштарӣ ва авторизатсия донад. Дар ниҳоят, маҳз бо кӯмаки ӯ сервери авторизатсия ҳақиқати Мизоҷро тасдиқ мекунад.

Аммо ин ҳама нест... Лутфан ба OpenID Connect хуш омадед!

OAuth 2.0 танҳо барои тарҳрезӣ шудааст иҷозат - таъмини дастрасӣ ба маълумот ва функсияҳо аз як барнома ба барномаи дигар. ID Connect-ро кушоед (OIDC) як қабати тунук дар болои OAuth 2.0 мебошад, ки тафсилоти воридшавӣ ва профили корбареро, ки ба ҳисоб ворид шудааст, илова мекунад. Ташкили сессияи воридшавӣ аксар вақт номида мешавад аутентификатсия [тасдиқкунӣ], ва маълумот дар бораи корбаре, ки ба система ворид шудааст (яъне дар бораи Соҳиби захираҳо'e), - маълумоти шахсӣ [шахсият]. Агар сервери авторизатсия OIDC-ро дастгирӣ кунад, онро баъзан ҳамчун номида мешавад провайдери маълумоти шахсӣ [провайдери шахсият]зеро таъмин менамояд мизоҷ'дар бораи маълумот доранд Соҳиби захираҳо'е.

OpenID Connect ба шумо имкон медиҳад, ки сенарияҳоеро амалӣ кунед, ки дар он як воридшавӣ метавонад дар барномаҳои гуногун истифода шавад - ин равиш инчунин бо номи маълум як воридшавӣ (SSO). Масалан, барнома метавонад ҳамгироии SSO-ро бо шабакаҳои иҷтимоӣ, аз қабили Facebook ё Twitter дастгирӣ кунад, ки ба корбарон имкон медиҳад, ки ҳисоберо, ки аллакай доранд, истифода баранд ва истифода баранд.

Дастури тасвирӣ барои OAuth ва OpenID Connect

Ҷараёни (ҷараёни) OpenID Connect ҳамон тавре ки дар ҳолати OAuth ба назар мерасад. Ягона фарқият дар он аст, ки дар дархости ибтидоӣ доираи мушаххаси истифодашаванда аст openid, - А мизоҷ оқибат ба мисли Дастрасӣ ба Token, ва Токени ID.

Дастури тасвирӣ барои OAuth ва OpenID Connect

Тавре ки дар ҷараёни OAuth, Дастрасӣ ба Token дар OpenID Connect, ин баъзе арзишест, ки равшан нест мизоҷ'дар. Аз нуктаи назар мизоҷДастрасӣ ба Token як қатор аломатҳоро ифода мекунад, ки дар баробари ҳар як дархост ба он интиқол дода мешавад сервери захиравӣ'y, ки муайян мекунад, ки оё нишона дуруст аст. Токени ID чизи тамоман дигарро ифода мекунад.

ID Token як JWT аст

Токени ID як сатри махсус форматшудаи аломатҳо мебошад, ки бо номи JSON Web Token ё JWT маълум аст (баъзан токенҳои JWT мисли "ҷотҳо" талаффуз мешаванд). Барои нозирони беруна, JWT метавонад як гапи нофаҳмо ба назар расад, аммо мизоҷ метавонад аз JWT маълумоти гуногунро ба мисли ID, номи корбар, вақти воридшавӣ, санаи анҷомёбӣ истихроҷ кунад Токени ID'а, мавчудияти кушишхои халал расондан ба ХУЧЧат. Маълумот дар дохили Токени ID'а номида мешаванд барномаҳо [даъвоҳо].

Дастури тасвирӣ барои OAuth ва OpenID Connect

Дар мавриди OIDC, инчунин як роҳи стандартӣ вуҷуд дорад, ки тавассути он мизоҷ метавонад маълумоти иловагиро дар бораи шахс талаб кунад [шахсият] аз он Сервери авторизатсия'a, масалан, суроғаи почтаи электронӣ бо истифода аз Дастрасӣ ба Token.

Дар бораи OAuth ва OIDC маълумоти бештар гиред

Ҳамин тавр, мо мухтасар дида баромадем, ки чӣ тавр OAuth ва OIDC кор мекунанд. Омодаед, ки амиқтар кобед? Инҳоянд захираҳои иловагӣ барои гирифтани маълумоти бештар дар бораи OAuth 2.0 ва OpenID Connect:

Мисли ҳамеша, озодона шарҳ диҳед. Барои бохабар будан аз хабарҳои охирини мо, обуна шавед Twitter и YouTube Окта барои таҳиягарон!

PS аз тарҷумон

Инчунин дар блоги мо хонед:

Манбаъ: will.com

Илова Эзоҳ