Skip to end of metadata
Go to start of metadata

რა არის 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=

იდენტიფიკატორების გაზიარება სისტემებს შორის
თუკი თქვენ გაქვთ გაშვებული რამდენიმე სისტემა ერთ ძირითად დომენურ სახელზე, მაგალითად შემდეგი მისამართებით: 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

 

Labels
  • None
  1. Oct 25, 2013

    Anonymous

  2. Oct 25, 2013

    Anonymous

    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
  3. Oct 25, 2013

    Anonymous

  4. Oct 25, 2013

    Anonymous

    ^(#$!@#$)(()))******
  5. Oct 25, 2013

    Anonymous

  6. Oct 25, 2013

    Anonymous

  7. Oct 25, 2013

    Anonymous

    http://some-inexistent-website.acu/some_inexistent_file_with_long_name?%00.jpg
  8. Oct 25, 2013

    Anonymous

  9. Oct 25, 2013

    Anonymous

    1some_inexistent_file_with_long_name%00.jpg
  10. Oct 25, 2013

    Anonymous

  11. Oct 25, 2013

    Anonymous

  12. Oct 25, 2013

    Anonymous

    http://testasp.vulnweb.com/t/fit.txt?%00.jpg
  13. Oct 25, 2013

    Anonymous

    testasp.vulnweb.com
  14. Oct 25, 2013

    Anonymous

    http://hitxbeRfuLWXM.bxss.me/
  15. Oct 25, 2013

    Anonymous

  16. Oct 25, 2013

    Anonymous

  17. Oct 25, 2013

    Anonymous

  18. Oct 25, 2013

    Anonymous

  19. Oct 25, 2013

    Anonymous

  20. Oct 25, 2013

    Anonymous

  21. Oct 25, 2013

    Anonymous

  22. Oct 25, 2013

    Anonymous

  23. Oct 25, 2013

    Anonymous

  24. Oct 25, 2013

    Anonymous

  25. Oct 25, 2013

    Anonymous

  26. Oct 25, 2013

    Anonymous

  27. Oct 25, 2013

    Anonymous

  28. Oct 25, 2013

    Anonymous

  29. Oct 25, 2013

    Anonymous

  30. Oct 25, 2013

    Anonymous

  31. Oct 25, 2013

    Anonymous

  32. Oct 25, 2013

    Anonymous

  33. Oct 25, 2013

    Anonymous

  34. Oct 25, 2013

    Anonymous