Ինչպե՞ս պարել OAuth- ը. Քայլ առ քայլ դաս

Հինգ վեց յոթ ութ:

Mostամանակի մեծ մասը ես փորձում եմ ինչ-որ նոր բան սովորել և կիրառել այն գործնականում: Ես արագորեն ինձ կորած եմ զգում պարային տարբեր շարժումներում: Ես հուսահատ փորձում եմ պարզել ճիշտ ուղին, մինչդեռ իրականում չեմ հասկանում, թե ինչ է կատարվում կամ ինչպես եմ հայտնվել սենյակի սխալ կողմում:

Ուղղակի փորձեք, մինչև որևէ բան գործի:

Միգուցե դա իմ ուսուցման գործընթացի ձևն է, կամ գուցե ուղեցույցներն ու ձեռնարկները ուղղված են փորձառու կամ տեխնոլոգիական գիտակ մարդկանց: Բայց թեման ուսումնասիրելուց հետո միշտ պետք է լինի պարզ ուղեցույց `հիմնական հասկացությունները հասկանալու և դրանք նախագծում կիրառելը դյուրին դարձնելու համար:

Այնպես որ, այս անգամ, ես որոշեցի, որ այլևս չցանկանամ դա և ինքս դա անեի ՝ օգտագործելով իմ սովորած վերջին բանը:

Եվ այդ բանը OAuth 2.0-ն էր:

Ի՞նչ է OAuth- ը:

Սկսենք հիմունքներից. OAuth- ը նշանակում է Բաց լիազորություն: Սա այն գործընթացն է, որով ծրագիրը կամ կայքը կարող են մուտք գործել մասնավոր օգտվողի տվյալներ մեկ այլ կայքից:

Այս մյուս կայքը սովորաբար աշխատում է միայն որպես վստահելի ինքնություն տրամադրող: Այն հայցող հավելվածին տալիս է ձեր մասին որոշ հիմնական տեղեկություններ, որպեսզի հավելվածը պրոֆիլավորվի: Այսպիսով, անհրաժեշտ չէ լրացնել ձանձրալի գրանցման ձև և բախվել մեկ այլ գաղտնաբառի հետ

Դուք դա օգտագործել եք առնվազն մի քանի միլիոն անգամ արդեն: Փաստորեն, դուք օգտագործել եք այն ամեն անգամ, երբ հարվածել եք «Մուտք գործել Facebook / Google / GitHub / ...»: Հաջորդիվ ձեզ ներկայացվեց համաձայնության էկրան ՝ նշելով, թե ձեր (օրինակ) ֆեյսբուքյան պրոֆիլից ինչ տեղեկություններ եք թույլ տալիս այս- hot-new-app.com- ը կարդալ (և երբեմն էլ գրել): Քանի որ այդ- hot-new-app.com- ը վստահում է Facebook- ի տրամադրած ինքնությանը, նրանք այնուհետև կարող են օգտագործել ստացված տվյալները `իրենց տվյալների բազայում ձեզ համար պրոֆիլ ստեղծելու համար:

Այստեղ սովորաբար ավարտվում է այդ- hot-new-app.com- ի և Facebook- ի շփումը: Դրա պատճառով, եթե այն փոխեք Facebook- ում, ձեր պրոֆիլի նկարը ինտերնետում չի փոխվի: Դուք պարզապես երբեք այլևս չեք վերադառնում Facebook և խնդրում թարմացված տվյալներ:

Երբ մարիմբայի ռիթմերը սկսում են նվագել ...

Նման մեխանիզմի կառուցման մեկ այլ նպատակ կա, որն ունի շատ ավելի մեծ ներուժ. Ինքնության մատակարարին օգտագործել որպես ծառայություն մատուցող (շարունակական հիմունքներով): Սա նշանակում է, որ դուք կանոնավոր կերպով շփվելու եք նրա հետ ՝ ձեր օգտվողներին առաջադեմ ֆունկցիոնալություն ապահովելու համար:

Դրա լավ օրինակն է Relive- ը, ծառայություն, որը միանում է սպորտային հետևողականության տարբեր ծրագրերի `տեսանյութեր ստեղծելու համար` ձեր վազքի կամ զբոսանքի երկրի տեսքով: Ամեն անգամ ինչ-որ գործողություն ավարտելուց հետո Relive- ը ձեզ հուշում է ստեղծել դրա տեսանյութը: Եթե ​​դուք ասում եք «այո», նրանք կվերամշակեն այն և կտեղեկացնեն ձեզ, երբ պատրաստ լինի սոցիալական լրատվամիջոցների պարծենկոտ իրավունքներին: Նկատի ունեմ «բաժնեմասը»

Այս երկու օգտագործման մեջ իրոք որևէ տեխնիկական տարբերություն չկա: Ահա թե ինչու պետք է զգույշ լինել, թե որտեղ եք մուտք գործում ձեր սոցիալական մեդիան կամ Google / Gmail հաշիվը:

Գուցե սարսափելի է թվում, բայց իսկապես մտահոգվելու բան չկա: Հիշեք, որ դուք թույլատրում եք այդ- hot-new-app.com- ին մուտք գործել ձեր մասին տեղեկությունները, որոնք նշված են համաձայնության էկրանին, հնարավոր է պարբերաբար: Տեղեկացեք ձեր կողմից տրվող թույլտվությունների մասին և համոզվեք, որ գիտեք, թե ինչպես անջատել դրանք, եթե այլևս չեք վստահում նրանց:

Օրինակ, եթե օգտագործում եք ձեր Google հաշիվը այդ- hot-new-app.com մուտք գործելու համար, բայց այլևս չեք ցանկանում դա թույլ տալ, պարզապես գնացեք ձեր Google հաշվի կարգավորումներ և անջատեք դրանց մուտքը:

Ինքնության բոլոր հիմնական մատակարարներն առաջարկում են վերահսկողություն դրա վրա:

Լավ, բայց ինչպե՞ս եք պարում OAuth- ը:

Նախքան այդ- hot-new-app.com կայքէջը ընկնելը և «Գրանցվել YourFavoriteIdentityProvider- ին» կոճակին հարվածելը, ինչ-որ մեկը, հավանաբար, ծրագրավորողը, պետք է դիմում ստեղծի մատակարարի կայքում:

Սա թույլ է տալիս գրանցել այդ- hot-new-app.com- ը, որպեսզի մատակարարը հետագայում իմանա, թե ով է անձնական տեղեկատվություն խնդրում:

Այս քայլում մշակողը ստեղծում է հավելվածի վերաբերյալ որոշ տեղեկություններ, ինչպիսիք են. Օրինակ ՝ հավելվածի անունը կամ կայքը և, ամենակարևորը, վերահղման URI: Մատակարարը (ինչպես Google- ը կամ Facebook- ը) կօգտագործի սա ՝ հայցող հավելվածին կապվելու համար և նրանց տեղեկացնելու, որ օգտագործողը «այո» է ասել

Խոստանում եմ, որ ստիպված չեք լինի դա ձեռքով գրել, մենք հպարտանում ենք թղթի պակասով:

Theրագիրը գրանցվելուն պես, that-hot-new-app.com պրովայդերը տրամադրում է clientId- ն և clientSecret- ը, որոնք օգտագործվում են իրենց միջեւ հաղորդակցության համար: Դրանք գործում են օգտագործողի անվան և գաղտնաբառի պես:

Դուք կվերցնեք հաճախորդի ID- ն և clientSecret- ը անմիջապես այն բանից հետո, երբ կտտացրեք Save ծրագիրը

Շատ կարևոր է, որ ձեր հաճախորդի գաղտնիքը պահեք ապահով վայրում և այն չկիսեք անծանոթ մարդկանց հետ: Եթե ​​ինչ-որ մեկը մուտք է գործում դրան, նա կարող է ձեր անունից մատակարարից պահանջել անձնական օգտագործողի տվյալներ, ապա դրանք օգտագործել չարիքի համար:

Մենք դա չենք ուզում:

Ձեռքերը գոտկատեղին կամ ուսերին

Այս բոլոր բաները կարգավորելուց զատ, մշակողը պետք է պարզի, թե վաճառողն ինչ տեսակի տվյալներ է թույլ տալիս մուտք գործել և ինչպես է դրանք բաժանվում:

Այս «հատվածները» հայտնի են որպես տարածքներ և սահմանում են մուտքի իրավունքները, որոնք սովորաբար բաժանվում են կարդալու կամ գրելու կատեգորիաների: Օրինակ, այդ- hot-new-app.com- ը կարող է պահանջել «պրոֆիլ ՝ կարդալ» և «կոնտակտներ ՝ կարդալ» ոլորտները: Սա նշանակում է, որ նրանք կարող են կարդալ այն ամենը, ինչ մատակարարը հանձնարարում է «Պրոֆիլ» և «Կոնտակտներ» հատվածներին: Այլ բաներ հնարավոր չէ մուտք գործել, օրինակ. B. ձեր հաղորդագրությունների կամ ձեզ դուր եկած բովանդակության վրա:

Ասենք, որ- hot-new-app.com- ը Typeform- ում ներկառուցված կայք է, գեղեցիկ և խելացի ձևեր ստեղծելու ծառայություն, ինչպես նաև այն ընկերության մեջ, որի մեջ ես աշխատում եմ: Դուք, անկասկած, ցանկանում եք միանգամից և արագ գործ ունենալ ամենաթեժի հետ: Ընկերության կայքում կտտացրեք «Մուտք գործել Typeform- ով» անմիջապես սկսելու համար: Ի՞նչ է հաջորդը

Ահա տնական, օրգանական, առանց խոլեստերինի աղյուսակ, որը կարող եք օգտագործել որպես ամբողջ իրերի քարտեզ: Դա կարող է մի փոքր բարդ թվալ, բայց մի անհանգստացեք, մենք հետագայում կքննարկենք յուրաքանչյուր քայլ:

Գունագեղ նոտաները ուրախություն են պատճառում իմ սրտում

Թույլատրել. OAuth պարի առաջին քայլը

Այսպիսով, դուք նախաձեռնություն եք վերցնում և կտտացնում «Միացեք տիպաձևին»: Այստեղ է, որ այս- hot-new-app.com- ը (THNA- ն այսուհետ, քանի որ ես հոգնել եմ գծիկ բառերից) ուղարկում է այն Typeform- ի Authorize վերջնակետին (/ oauth / autorize) և ասում.

  • ձեր հաճախորդը (հիշեք, սա THNA- ի օգտվողի անունն է)
  • նրանց ցանկալի տարածքները (կամ մուտքի իրավունքները)
  • և դրանց վերահղման URI- ն (Typeform- ն արդեն գիտի դա, երբ մենք կարգավորում ենք սա, բայց մենք այն կրկին ուղարկում ենք որպես անվտանգության լրացուցիչ շերտ)

Այս url- ն ունի նման մի բան.

https://api.typeform.com/oauth/authorize?client_id=yourClientId&scope=accounts:read+forms:read+ results:read

Typeform- ը օգտագործում է այս տեղեկատվությունը համաձայնության էկրան ստեղծելու համար, որտեղ կարող եք վերանայել, թե ինչպիսի բաներ եք թույլ տալիս THNA- ին տեսնել և անել:

Ձեր համաձայնությունը ուշադիր կարդալուց և «Թույլատրել» -ը հաճելիորեն կտտացնելուց հետո Typeform- ը ձեզ ժամանակավոր հաղորդագրություն կուղարկի վերահղման URI- ին ՝

https://that-hot-new-app.com/auth/redirect?code=xxxXXXxxxxXXXxxx

Նշան. TangOAuth- ը տևում է 2

Այն ամբողջից հետ ու առաջ թվում է, թե ինչ-որ մեկը ձեզ տանգոյի պտույտի է դուրս հանում, չէ՞:

OAuth պարի երկրորդ քայլը կայանում է նրանում, որ THNA- ն ստանա այս ծածկագիրը և փոխանակի այն OAuth խորհրդանիշի հետ:

Այսպիսով, THNA- ն վերցնում է այս ծածկագիրը և այն ուղարկում է Typeform- ին ՝ վերահղման URI- ի հետ միասին (այո, էլի!:) Եվ հաճախորդի գաղտնիքը (դա ծրագրի գաղտնաբառն է):

Որպես պարի ՝ լավ պարված պարի համար, THNA- ն ստանում է փայլուն OAuth նշան, որը նա կարող է օգտագործել օգտագործողի անունից, այսինքն ՝ դուք:

Մնա ինձ հետ, կշռի ինձ հետ

Այսուհետ THNA- ն ձեր անունից պետք է ավելացնի թույլտվության վերնագիր այս մուտքի նշանով ՝ Typeform- ին ուղարկված յուրաքանչյուր խնդրանքով: Սա հնարավորություն է տալիս Typeform- ին (կամ ցանկացած այլ մատակարարին) բացահայտել `

  • ով է հարցնում տվյալները (այս դեպքում THNA)
  • Ովքե՞ր են (քո՛) տվյալները
  • Համոզվեք նաև, որ այս տվյալները մուտք գործելու ճիշտ թույլտվություն ունեք (միայն ձեր համաձայնությամբ):

Պատրաստ է պարահրապարակին

Այժմ, երբ դուք գիտեք OAuth պարի տեխնիկայի բոլոր քայլերն ու շրջադարձերը, դուք պետք է պատրաստ լինեք ստեղծել ձեր սեփական խորեոգրաֆիաները, ինտեգրումները և ինտերնետը դարձնել էլ ավելի մեծ տեղ:

Սիրով ՝ Գեզ Քսավիեր Մանսֆիլդի շապիկի լուսանկարը Unsplash- ում: