Илустровани водич за ОАутх и ОпенИД Цоннецт

Белешка. трансл.: Овај сјајан Окта чланак објашњава како ОАутх и ОИДЦ (ОпенИД Цоннецт) функционишу на једноставан и јасан начин. Ово знање ће бити корисно програмерима, систем администраторима, па чак и „обичним корисницима“ популарних веб апликација, које највероватније такође размењују поверљиве податке са другим сервисима.

У каменом добу Интернета, дељење информација између сервиса било је лако. Једноставно сте дали свој логин и лозинку са једног сервиса на други, тако да је он ушао у ваш налог и добио све потребне информације.

Илустровани водич за ОАутх и ОпенИД Цоннецт
"Дај ми свој банковни рачун." „Обећавамо да ће све бити у реду са лозинком и новцем. То је искрено, поштено!" *хе хе*

Ужас! Нико никада не би требало да захтева од корисника да дели корисничко име и лозинку, акредитиве, са другом услугом. Не постоји гаранција да ће организација која стоји иза ове услуге чувати податке и да неће прикупити више личних података него што је потребно. Можда звучи лудо, али неке апликације и даље користе ову праксу!

Данас постоји један стандард који омогућава једној услузи да безбедно користи податке друге. Нажалост, такви стандарди користе много жаргона и термина, што отежава њихово разумевање. Сврха овог материјала је да објасни како они раде користећи једноставне илустрације (Мислите ли да моји цртежи личе на дечје мазање? Па добро!).

Илустровани водич за ОАутх и ОпенИД Цоннецт

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

Даме и господо, добродошли: ОАутх 2.0

ОАутх 2.0 је безбедносни стандард који омогућава једној апликацији да добије дозволу за приступ информацијама у другој апликацији. Редослед корака за издавање дозволе [дозвола] (Или пристанак [пристанак]) често зову овлашћење [овлашћење] или чак делегирано овлашћење [делегирано овлашћење]. Овим стандардом дозвољавате апликацији да чита податке или користи функције друге апликације у ваше име без да јој дате своју лозинку. Класа!

Као пример, рецимо да сте открили сајт под називом „Несрећна игра дана“ [Ужасна игра дана] и одлучио да се региструје на њему како би свакодневно примао игре речи у виду текстуалних порука на телефон. Заиста вам се допао сајт и одлучили сте да га поделите са свим својим пријатељима. На крају крајева, сви воле језиве игре речи, зар не?

Илустровани водич за ОАутх и ОпенИД Цоннецт
„Несрећна игра речи дана: Јесте ли чули за типа који је изгубио леву половину тела? Сада је увек у праву!" (приближан превод, јер оригинал има своју игру речи – прибл. прев.)

Јасно је да писање свакој особи са листе контаката није опција. И, ако сте макар мало попут мене, онда ћете се потрудити да избегнете непотребан рад. На срећу, Страшна игра дана може сама да позове све ваше пријатеље! Да бисте то урадили, потребно је само да отворите приступ е-пошти ваших контаката - сам сајт ће им послати позивнице (ОАутх правила)!

Илустровани водич за ОАутх и ОпенИД Цоннецт
„Сви воле игре речи! - Већ пријављени? „Да ли бисте желели да дозволите веб локацији Страшна игра дана да приступи вашој листи контаката? - Хвала вам! Од сада ћемо сваког дана слати подсетнике свима које познајете, до краја времена! Ти си најбољи пријатељ!"

  1. Изаберите услугу е-поште.
  2. Ако је потребно, идите на сајт за пошту и пријавите се на свој налог.
  3. Дајте Террибле Пун оф тхе Даи дозволу за приступ вашим контактима.
  4. Вратите се на сајт Страшна игра дана.

У случају да се предомислите, апликације које користе ОАутх такође пружају начин за опозив приступа. Када одлучите да више не желите да делите контакте са Ужасним играњем речи дана, можете да одете на сајт за пошту и уклоните место речи са листе овлашћених апликација.

ОАутх ток

Управо смо прошли кроз оно што се обично зове ток [ток] ОАутх. У нашем примеру, овај ток се састоји од видљивих корака, као и неколико невидљивих корака, у којима се два сервиса договарају о безбедној размени информација. Претходни пример Ужасне игре дана користи најчешћи ток ОАутх 2.0, познат као ток „ауторизационог кода“. [ток „кода за ауторизацију“].

Пре него што уђемо у детаље како ОАутх функционише, хајде да разговарамо о значењу неких термина:

  • Власник ресурса:

    Илустровани водич за ОАутх и ОпенИД Цоннецт

    То си ти! Ви поседујете своје акредитиве, своје податке и контролишете све активности које се могу обављати на вашим налозима.

  • Купац:

    Илустровани водич за ОАутх и ОпенИД Цоннецт

    Апликација (на пример, услуга Ужасна игра дана) која жели да приступи или изврши одређене радње у име Власник ресурса'а.

  • Ауторизациони сервер:

    Илустровани водич за ОАутх и ОпенИД Цоннецт

    Апликација која зна Власник ресурса'а и у којој у Власник ресурса'а већ имате налог.

  • Ресоурце Сервер:

    Илустровани водич за ОАутх и ОпенИД Цоннецт

    Интерфејс за програмирање апликације (АПИ) или сервис који Купац жели да користи у име Власник ресурса'а.

  • УРИ за преусмеравање:

    Илустровани водич за ОАутх и ОпенИД Цоннецт

    Веза која Ауторизациони сервер ће преусмерити Власник ресурса'и након давања дозволе Купац'ат. Понекад се назива „УРЛ повратног позива“.

  • тип одговора:

    Илустровани водич за ОАутх и ОпенИД Цоннецт

    Врста информација које се очекује да буду примљене Купац. Најчешћи тип одговора'ом је шифра, тј Купац очекује да прими код за дозволу.

  • Обим:

    Илустровани водич за ОАутх и ОпенИД Цоннецт

    Ово је детаљан опис потребних дозвола Купац'и, као што је приступ подацима или извођење одређених радњи.

  • Сагласност:

    Илустровани водич за ОАутх и ОпенИД Цоннецт

    Ауторизациони сервер траје Сцопестражено Купац'ом, и пита Власник ресурса'а, да ли је спреман да пружи Купац'имати одговарајуће дозволе.

  • ИД клијента:

    Илустровани водич за ОАутх и ОпенИД Цоннецт

    Овај ИД се користи за идентификацију Купац'а он Ауторизациони сервер'е.

  • Клијент тајна:

    Илустровани водич за ОАутх и ОпенИД Цоннецт

    Ово је лозинка која је само позната Купац'у и Ауторизациони сервер'ат. Омогућава им да приватно деле информације.

  • код за дозволу:

    Илустровани водич за ОАутх и ОпенИД Цоннецт

    Привремени код са кратким роком важења, који Купац обезбеђује Ауторизациони сервер'и у замену за Токен приступа.

  • Токен приступа:

    Илустровани водич за ОАутх и ОпенИД Цоннецт

    Кључ који ће клијент користити за комуникацију Ресоурце Сервер'ом. Нека врста значке или кључ картице која пружа Купац„имају дозволу да траже податке или врше радње на Ресоурце Сервер'е у ваше име.

Приметити: Понекад су сервер за ауторизацију и сервер ресурса исти сервер. Међутим, у неким случајевима то могу бити различити сервери, чак и ако не припадају истој организацији. На пример, ауторизациони сервер може бити услуга треће стране којој сервер ресурса верује.

Сада када смо покрили основне концепте ОАутх 2.0, вратимо се на наш пример и детаљније погледамо шта се дешава у току ОАутх-а.

Илустровани водич за ОАутх и ОпенИД Цоннецт

  1. Ти, Власник ресурса, желите да пружите услугу Ужасне речи дана (Купаци) приступ вашим контактима како би они могли да шаљу позивнице свим вашим пријатељима.
  2. Купац преусмерава претраживач на страницу Ауторизациони сервер'а и укључити у упит ИД клијента, УРИ за преусмеравање, тип одговора и један или више Сцопес (дозволе) које су му потребне.
  3. Ауторизациони сервер вас верификује, тражећи корисничко име и лозинку ако је потребно.
  4. Ауторизациони сервер приказује образац Сагласност (потврде) са списком свих Сцопестражено Купац'ом. Пристајете или одбијате.
  5. Ауторизациони сервер вас преусмерава на сајт Купац'а, користећи УРИ за преусмеравање са код за дозволу (код за дозволу).
  6. Купац комуницира директно са Ауторизациони сервер'охм (заобилазећи претраживач Власник ресурса'а) и безбедно шаље ИД клијента, Клијент тајна и код за дозволу.
  7. Ауторизациони сервер проверава податке и одговара са Токен приступа'ом (приступни токен).
  8. Сада Купац Можете користити Токен приступа да пошаљете захтев Ресоурце Сервер да бисте добили листу контаката.

ИД клијента и тајна

Много пре него што сте дозволили Террибле Пун оф тхе Даи да приступи вашим контактима, клијент и сервер за ауторизацију су успоставили радни однос. Сервер за ауторизацију је генерисао ИД клијента и тајну тајну клијента (понекад се зове ИД апликације и Апп Сецрет) и послао их Клијенту на даљу интеракцију у оквиру ОАутх-а.

Илустровани водич за ОАутх и ОпенИД Цоннецт
"- Здраво! Волео бих да радим са вама! - Наравно, није проблем! Ево вашег ИД-а и тајне клијента!”

Име наговештава да се тајна клијента мора чувати у тајности тако да је знају само клијент и ауторизациони сервер. На крају крајева, уз његову помоћ сервер за ауторизацију потврђује истинитост Клијента.

Али то није све... Поздравите ОпенИД Цоннецт!

ОАутх 2.0 је дизајниран само за овлашћење - да обезбеди приступ подацима и функцијама из једне апликације у другу. ОпенИД Цоннецт (ОИДЦ) је танак слој на врху ОАутх 2.0 који додаје податке за пријаву и профил корисника који је пријављен на налог. Организација сесије за пријаву се често назива Аутентикација [Аутентикација], и информације о кориснику пријављеном на систем (тј Власник ресурса'е), - лични подаци [идентитет]. Ако сервер за ауторизацију подржава ОИДЦ, понекад се назива пружалац личних података [провајдер идентитета]јер пружа Купац'имати информације о Власник ресурса'е.

ОпенИД Цоннецт вам омогућава да имплементирате сценарије у којима се једно пријављивање може користити у више апликација – овај приступ је познат и као појединачна пријава (ССО). На пример, апликација може да подржи ССО интеграцију са друштвеним мрежама као што су Фацебоок или Твитер, омогућавајући корисницима да користе налог који већ имају и који више воле да користе.

Илустровани водич за ОАутх и ОпенИД Цоннецт

Ток (ток) ОпенИД Цоннецт изгледа исто као у случају ОАутх-а. Једина разлика је у томе што се у примарном захтеву користи специфичан опсег openid, - А Купац на крају добије као Токен приступаИ ИД токен.

Илустровани водич за ОАутх и ОпенИД Цоннецт

Баш као у ОАутх току, Токен приступа у ОпенИД Цоннецт-у, ово је нека вредност која није јасна Купац'ат. Са тачке гледишта КупацТокен приступа представља низ знакова који се прослеђује са сваким захтевом Ресоурце Сервер'и, који одређује да ли је токен исправан. ИД токен представља сасвим другу ствар.

ИД токен је ЈВТ

ИД токен је посебно форматиран низ знакова познат као ЈСОН веб токен или ЈВТ (понекад се ЈВТ токени изговарају као "јотс"). Спољашњим посматрачима ЈВТ може изгледати као несхватљиво брбљање, али Купац може извући различите информације из ЈВТ-а, као што су ИД, корисничко име, време пријаве, датум истека ИД токен'а, присуство покушаја ометања ЈВТ-а. Подаци унутра ИД токен'а се зову апликације [тврдње].

Илустровани водич за ОАутх и ОпенИД Цоннецт

У случају ОИДЦ-а постоји и стандардни начин на који Купац може тражити додатне информације о појединцу [идентитет] из Ауторизациони сервер'а, на пример, имејл адресу која користи Токен приступа.

Сазнајте више о ОАутх-у и ОИДЦ-у

Дакле, укратко смо прегледали како ОАутх и ОИДЦ функционишу. Спремни да копате дубље? Ево додатних ресурса који ће вам помоћи да сазнате више о ОАутх 2.0 и ОпенИД Цоннецт:

Као и увек, слободно коментаришите. Да бисте били у току са нашим најновијим вестима, претплатите се на Twitter и ИоуТубе Окта за програмере!

ПС од преводиоца

Прочитајте и на нашем блогу:

Извор: ввв.хабр.цом

Додај коментар