როგორ ვიცეკვოთ OAuth: ნაბიჯ ნაბიჯ გაკვეთილი

ხუთი ექვსი შვიდი რვა!

უმეტესად ვცდილობ რამე ახალი ვისწავლო და პრაქტიკაში გამოვიყენო. სწრაფად ვგრძნობ დაკარგვას სხვადასხვა საცეკვაო მოძრაობებში. სასოწარკვეთილი ვცდილობ ვიპოვო სწორი გზა, ხოლო სინამდვილეში არ მესმის რა ხდება ან როგორ აღმოვჩნდი ოთახის არასწორი მხრიდან.

უბრალოდ სცადეთ სანამ რამე არ გამოდგება.

შეიძლება ეს ჩემი სწავლის პროცესის გზაა, ან სახელმძღვანელოები და სახელმძღვანელოები მიმართულია გამოცდილი ან ტექნიკური ცოდნის მქონე ადამიანებისთვის. მაგრამ საკითხის შესწავლის შემდეგ, ყოველთვის უნდა არსებობდეს მარტივი სახელმძღვანელო, რომ გაიგოთ ძირითადი ცნებები და გაუადვილოთ მათი გამოყენება პროექტში.

ამჯერად, ვფიქრობდი, რომ აღარ მსურდეს ეს და თვითონ გავაკეთო ის, რაც ვისწავლე.

და ეს იყო OAuth 2.0.

რა არის OAuth?

დავიწყოთ საფუძვლებიდან: OAuth ნიშნავს ღია ავტორიზაცია. ეს არის პროცესი, რომლის საშუალებითაც აპლიკაციას ან ვებსაიტს შეუძლია გამოიყენოს მომხმარებლის მომხმარებლის მონაცემები სხვა ვებსაიტიდან.

ეს სხვა ვებსაიტი ჩვეულებრივ მუშაობს მხოლოდ როგორც საიმედო პირადობის მიმწოდებელი. ეს მაძიებელ აპლიკაციას აძლევს თქვენს შესახებ ზოგიერთ ძირითად ინფორმაციას, რომლითაც აპლიკაციას აქვს პროფილი. ამ გზით, თქვენ არ უნდა შეავსოთ მოსაწყენი სარეგისტრაციო ფორმა და შეხვდეთ სხვა პაროლს

თქვენ ეს უკვე რამდენიმე მილიონჯერ მაინც გამოგიყენებიათ. სინამდვილეში, თქვენ ის გამოიყენეთ ყოველთვის, როდესაც დააჭირეთ ღილაკს "შესვლა Facebook / Google / GitHub / ..." - ით. შემდეგ წარმოგიდგინეთ თანხმობის ეკრანი, რომელშიც აღნიშნულია, თუ რა ინფორმაციას აძლევთ თქვენს (მაგ.) Facebook პროფილს ამ- hot-new-app.com წაკითხვის (და ზოგჯერ წერის) საშუალებით. მას შემდეგ, რაც that-hot-new-app.com ენდობა Facebook- ის მიერ მოწოდებულ პირადობას, მათ შემდეგ შეუძლიათ გამოიყენონ მიღებული მონაცემები, რომ შექმნან პროფილის შექმნა თქვენს მონაცემთა ბაზაში.

აქ ჩვეულებრივ მთავრდება კომუნიკაცია that-hot-new-app.com- სა და Facebook- ს შორის. ამის გამო, თქვენი პროფილის სურათი არ შეიცვლება ინტერნეტში, როდესაც მას Facebook- ზე შეცვლით. თქვენ არასდროს დაბრუნდებით Facebook- ზე და ითხოვთ განახლებულ მონაცემებს.

როდესაც მარიმბას რითმები იწყებს თამაშს ...

ასეთი მექანიზმის შექმნა კიდევ ერთი მიზანია, რომელსაც ბევრად მეტი პოტენციალი აქვს: პირადობის მიმწოდებლის გამოყენება, როგორც მომსახურების მიმწოდებელი (მუდმივად). ეს ნიშნავს, რომ თქვენ რეგულარულად დაუკავშირდებით მას, რომ თქვენს მომხმარებლებს მოწინავე ფუნქციონირება მიაწოდოთ.

ამის კარგი მაგალითია Relive, სერვისი, რომელიც უკავშირდება სხვადასხვა სპორტული თვალყურისდევნების პროგრამებს, ვიდეოების შესაქმნელად თქვენი გაშვების ან გასეირნების დედამიწაზე. ყოველთვის, როდესაც საქმიანობას დაასრულებთ, Relive მოგთხოვთ შექმნათ მისი ვიდეო. თუ თქვენ თქვით "დიახ", ისინი დაამუშავებენ მას და შეგატყობინებენ, როდესაც ის მზად იქნება სოციალური მედიის მიერ ტრაბახის უფლებებისთვის. ვგულისხმობ "წილს"

ამ ორ გამოყენებას შორის ტექნიკური განსხვავება ნამდვილად არ არსებობს. სწორედ ამიტომ, ფრთხილად უნდა იყოთ, სადაც შეხვალთ თქვენი სოციალური მედიით ან Google / Gmail ანგარიშით.

შეიძლება საშინლად ჟღერს, მაგრამ სანერვიულო ნამდვილად არაფერია. გახსოვდეთ, თქვენ მისცემთ უფლებას- hot-new-app.com- ს, მიიღონ ინფორმაცია თქვენს შესახებ ჩამოთვლილი თანხმობის ეკრანზე, შესაძლოა პერიოდულად. იცოდეთ ნებართვების გაცემის შესახებ და დარწმუნდით, რომ მათი გამორთვა იცით, თუ აღარ ენდობით.

მაგალითად, თუ იყენებთ თქვენს Google ანგარიშს that-hot-new-app.com წვდომისთვის, მაგრამ აღარ გსურთ ამის ნებართვა, უბრალოდ გადადით თქვენი Google ანგარიშის პარამეტრებში და გამორთეთ მათი წვდომა.

პირადობის ყველა მთავარი პროვაიდერი გვთავაზობს მასზე კონტროლს.

კარგი, მაგრამ როგორ ცეკვავთ OAuth- ს?

სანამ მოხვდებით ამ- hot-new-app.com- ზე და დააწკაპუნეთ ღილაკზე "დარეგისტრირდეთ YourFavoriteIdentityProvider- ზე", ვინმეს, სავარაუდოდ დეველოპერს, სჭირდება პროვაიდერის ვებგვერდზე განაცხადის შექმნა.

ეს საშუალებას გაძლევთ დარეგისტრირდეთ that-hot-new-app.com ისე, რომ მოგვიანებით პროვაიდერმა იცოდეს ვინ ითხოვს პირად ინფორმაციას.

ამ ეტაპზე, დეველოპერი აყალიბებს გარკვეულ ინფორმაციას პროგრამის შესახებ, როგორიცაა: მაგალითად, აპლიკაციის სახელი ან ვებსაიტი და, რაც მთავარია, გადამისამართება URI. პროვაიდერი (მაგალითად, Google ან Facebook) გამოიყენებს ამას, რომ დაუკავშირდეს მომთხოვნ აპლიკაციას და აცნობოს მათ, რომ მომხმარებელმა თქვა დიახ

პირობას გაძლევთ, რომ ხელით არ დაგჭირდებათ, ჩვენ ვამაყობთ ქაღალდის ნაკლებობით.

როგორც კი აპლიკაცია დარეგისტრირდება, პროვაიდერი that-hot-new-app.com უზრუნველყოფს clientId- ს და clientSecret- ს, რომლებიც გამოიყენება მათ შორის კომუნიკაციისთვის. ისინი მუშაობენ, როგორც მომხმარებლის სახელი და პაროლი პროგრამისთვის.

თქვენ მიიღებთ კლიენტის ID- ს და clientSecret- ს პირდაპირ მას შემდეგ, რაც დააჭირეთ ღილაკს Save პროგრამა

ძალზე მნიშვნელოვანია თქვენი კლიენტის საიდუმლოების დაცვა უსაფრთხო ადგილზე და არ გაუზიაროთ იგი უცხო პირებს. თუ ვინმე მასზე წვდომას მიიღებს, მას შეუძლია თქვენი სახელით მოითხოვოს პირადი მომხმარებლის მონაცემები პროვაიდერისგან და შემდეგ გამოიყენოს ისინი ბოროტებისთვის!

ჩვენ ეს არ გვინდა.

ხელები წელზე ან მხრებზე

გარდა ამ ყველაფრის დაყენებისა, დეველოპერმა უნდა გაარკვიოს, თუ რა სახის მონაცემებს აძლევს გამყიდველი გამყიდველს და როგორ ხდება მათი სეგმენტირება.

ეს "სეგმენტები" ცნობილია როგორც ტერიტორიები და განსაზღვრავს წვდომის უფლებებს, რომლებიც ჩვეულებრივ იყოფა წაკითხვის / ჩაწერის კატეგორიებად. მაგალითად, that-hot-new-app.com- ს შეუძლია მოითხოვოს სფეროები „პროფილი: წაკითხვა“ და „კონტაქტები: წაკითხვა“. ეს ნიშნავს, რომ მათ შეუძლიათ წაიკითხონ ყველაფერი, რასაც პროვაიდერი ანიჭებს "პროფილის" და "კონტაქტების" სეგმენტებს. სხვა ნივთებზე წვდომა შეუძლებელია, მაგ. B. თქვენს პოსტებზე ან თქვენთვის სასურველ შინაარსზე.

ვთქვათ, რომ- hot-new-app.com არის Typeform- ით ინტეგრირებული ვებსაიტი, ლამაზი და ჭკვიანი ფორმების შექმნის სერვისი და ასევე კომპანია, რომელშიც ვმუშაობ. თქვენ ნამდვილად გსურთ დაუყოვნებლივ და სწრაფად გაუმკლავდეთ ყველაზე ცხელ საკითხს. დაუყოვნებლივ დასაწყებად დააწკაპუნეთ კომპანიის ვებ – გვერდზე Typeform– ით შესვლაზე. Რა არის შემდეგი?

აქ არის ხელნაკეთი, ორგანული, ქოლესტერინისგან თავისუფალი სქემა, რომელიც შეგიძლიათ გამოიყენოთ, როგორც მთლიანი ნივთის რუკა. შეიძლება ცოტა რთული ჩანდეს, მაგრამ არ ინერვიულოთ, თითოეულ ნაბიჯს შემდგომ შეისწავლით.

ფერადი ნოტები გულს მსიამოვნებს

ავტორიზაცია: პირველი ნაბიჯი OAuth ცეკვაში

ასე რომ თქვენ აიღეთ ინიციატივა და დააჭირეთ ღილაკს "დაკავშირება Typeform- თან". ეს არის ის, სადაც this-hot-new-app.com (THNA ამიერიდან იმიტომ, რომ დავიღალე ტიპაჟური სიტყვებით) აგზავნის მას Typeform– ის ავტორიზაციის ბოლო წერტილზე (/ oauth / ავტორიზაცია) და აცხადებს:

  • თქვენი კლიენტი (გახსოვდეთ, ეს არის 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

ნიშანი: 2 სჭირდება tangOAuth 2 -ს

ყველაფერი, რაც წინ და უკან იგრძნობა, რომ ვიღაც გიყვანს ტანგო ტრიალზე, არა?

OAuth ცეკვის მეორე ეტაპი მდგომარეობს იმაში, რომ THNA მიიღებს ამ კოდს და გაცვლის OAuth ნიშანს.

ასე რომ, THNA იღებს ამ კოდს და უბრუნებს Typeform- ს გადამისამართების URI- სთან ერთად (დიახ, ისევ!) და კლიენტის საიდუმლოება (ეს არის აპის პაროლი!).

ჯილდოს კარგად ცეკვის ცეკვისთვის, THNA იღებს მბზინავ OAuth ნიშანს, რომლის საშუალებითაც ის გამოიყენებს Typeform- თან ურთიერთობის შესახებ მომხმარებლის სახელით, ანუ შენ!

დარჩი ჩემთან, იწონი ჩემთან ერთად

ამიერიდან, THNA– მ უნდა დაამატოს ავტორიზაციის სათაური ამ წვდომის სიმბოლოთი თქვენი სახელით Typeform– ის ყველა მოთხოვნას. ეს საშუალებას აძლევს Typeform (ან სხვა პროვაიდერს) დაადგინოს:

  • ვინ ითხოვს მონაცემებს (ამ შემთხვევაში THNA)
  • ვინ არის მონაცემები (შენ!)
  • ასევე დარწმუნდით, რომ გაქვთ სწორი ავტორიზაცია ამ მონაცემებზე წვდომისთვის (მხოლოდ თქვენი თანხმობით).

მზად არის საცეკვაო მოედანზე

ახლა, როდესაც თქვენ იცით OAuth- ის საცეკვაო ტექნიკის ყველა ნაბიჯი და გადახვევა, მზად უნდა იყოთ საკუთარი ქორეოგრაფიების შესაქმნელად და ინტეგრაციისთვის ინტერნეტი კიდევ უფრო დიდ ადგილზე გახდეთ.

პატივისცემით, Gez Xavier Mansfield- ის გარეკანის ფოტო Unsplash- ზე.