Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

რა არის ID ბარათით იდენტიფიკაციის ღილაკი?

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

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

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

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

როგორ მუშაობს ID ბარათით იდენტიფიკაციის ღილაკი?

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

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

იხილეთ სადემონსტრაციო საიტი

როგორ დავუმატო ID ბარათით იდენტიფიკაციის ღილაკი ჩემს ვებ-საიტს?

ID ბარათით იდენტიფიკაციის ღილაკი ემყარება პოპულარულ OpenID Authentication 2.0 პროტოკოლს, ასევე OpenID Attribute Exchange 1.0, OpenID User Interface Extension 1.0 (ენების გადამრთველის ჭრილში) და PAPE გაფართოებებს.

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

ძირითადი ტერმინები

OpenID სპეციფიკაცია განსაზღვრავს ტერმინების მთელ რიგს. მათგან ძირითადია:

  1. იდენტობის პროვაიდერი (Identity Provider)
    სისტემა, რომელიც ემსახურება მომხმარებლის ვინაობის დადგენას. ჩვენს შემთხვავაში - ID ბარათის OpenID პროვაიდერი

  2. მინდობილი მხარე (Relying Party)
    სისტემა, რომელიც დაინტერესებულია მომხმარებლის ვინაობის დადგენაში და ამ მიზნით მიმართავს იდენტობის პროვაიდერს. ამ შემთხვევაში ეს თქვენი ვებ-საიტია

იდენტიფიკაციის შედეგი

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

  1. მისი საშუალებით შეუძლებელია მომხმარებლის პირადი ინფორმაციის მიღება
  2. სხვადასხვა ვებ-საიტებისათვის იდენტიფიკატორი სხვადასხვაა

მაგალითისთვის, მომხმარებლის იდენტიფიკატორს შესაძლოა ჰქონდეს შემდეგი სახე: https://id.ge/openid/u/TJltQ1rv9a0JqAh/zHr+nBGUDq9wls+jvqJUF6TF/Fc=

Info
titleიდენტიფიკატორების გაზიარება სისტემებს შორის
თუკი თქვენ გაქვთ გაშვებული რამდენიმე სისტემა ერთ ძირითად დომენურ სახელზე, მაგალითად შემდეგი მისამართებით: http://app1.example.com, http://app2.example.com და გსურთ რომ მათში მომხმარებელს ერთიდაიგივე იდენტიფიკატორი ჰქონდეს, ამ შემთხვევაში თქვენი სისტემის დასახელებაში (Realm) უნდა გადმოსცეთ http://*.example.com - ასეთ შემთხვევაში ერთ მომხმარებელს ორივე სისტემისათვის საერთო იდენტიფიკატორი ექნება.

ანონიმური იდენტიფიკაცია

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

დამატებითი ატრიბუტების მოთხოვნა

დამატებითი ინფორმაცია მომხმარებელზე შეგიძლიათ მოითხოვოთ OpenID Attribute Exchange 1.0 პროტოკოლის გამოყენებით. პროტოკოლის აღწერა შეგიძლიათ იხილოთ შემდეგ მისამართზე: http://openid.net/specs/openid-attribute-exchange-1_0.html

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

 

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

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

ინტერფეისის ენის არჩევა

იდენტიფიკაციის სისტემა მუშაობს ქართულ და ინგლისურ ენებზე. თუკი თქვენ დამატებით არაფერს მოიმოქმედებთ, ნაგულისხმევი ენაა ქართული. ენის მითითება შესაძლებელია OpenID User Interface Extension 1.0 - DRAFT სპეციფიკაციის მიხედვით.

ენის მითითება შეგიძლიათ შემდეგი პარამეტრების მითითებით:

პარამეტრიაუცილებელია?მნიშვნელობა
openid.ns.uiდიახhttp://specs.openid.net/extensions/ui/1.0
openid.ui.langდიახen (ინგლისური) ან ka (ქართული)

სპეციფიკაციის შესაბამისად, openid.ui.lang -ში თქვენ შეგიძლიათ ასევე მიუთითოთ მძიმით გამოყოფილი მნიშვნელობები (ვთქვათ fr, ka, en). ამ შემთხვევაში ინტერფეისის ენა მაინც ქართული იქნება რადგანაც სისტემას არ გააჩნია ფრანგული ენის მხარდაჭერა, მის შემდეგ კი პარამეტრის თანახმად უპირატესობა ქართულს ენიჭება.

UI გაფართოების ინსტრუქცია მოთავსებულია შემდეგ მისამართზე: http://svn.openid.net/repos/specifications/user_interface/1.0/trunk/openid-user-interface-extension-1_0.html