د OAuth او OpenID Connect لپاره یو انځور شوی لارښود

نوټ. ژباړه: د Okta لخوا دا عالي مقاله تشریح کوي چې څنګه OAuth او OIDC (OpenID Connect) په ساده او روښانه ډول کار کوي. دا پوهه به د پراختیا کونکو، سیسټم مدیرانو، او حتی د مشهور ویب غوښتنلیکونو "منظم کاروونکو" لپاره ګټور وي، کوم چې ډیری احتمال د نورو خدماتو سره محرم معلومات هم تبادله کوي.

د انټرنیټ د ډبرې په دور کې، د خدماتو ترمنځ د معلوماتو شریکول اسانه وو. تاسو په ساده ډول خپل ننوتل او پاسورډ له یو خدمت څخه بل ته ورکړئ، ترڅو هغه ستاسو حساب ته ننوځي او کوم معلومات چې ورته اړتیا وي ترلاسه کړي.

د OAuth او OpenID Connect لپاره یو انځور شوی لارښود
"ما ته خپل بانکي حساب راکړه." "موږ ژمنه کوو چې هر څه به د پاسورډ او پیسو سره سم شي. دا صادق دی، صادق دی!" *هي هي*

وحشت! هیڅوک باید هیڅکله د کارونکي اړتیا ونه لري چې د کارن نوم او پټنوم شریک کړي، اسنادد بل خدمت سره. هیڅ تضمین شتون نلري چې د دې خدماتو ترشا اداره به ډاټا خوندي وساتي او د اړتیا په پرتله به ډیر شخصي معلومات راټول نکړي. دا ممکن لیونۍ ښکاري ، مګر ځینې ایپس لاهم دا تمرین کاروي!

نن ورځ یو واحد معیار شتون لري چې یو خدمت ته اجازه ورکوي په خوندي ډول د بل ډیټا وکاروي. له بده مرغه، دا ډول معیارونه ډیری اصطلاحات او اصطلاحات کاروي، کوم چې د دوی پوهه پیچلې کوي. د دې موادو هدف دا دی چې تشریح کړي چې دوی څنګه د ساده انځورونو په کارولو سره کار کوي (ایا تاسو فکر کوئ چې زما انځورونه د ماشومانو د ډوب کولو سره ورته دي؟ او ښه!).

د OAuth او OpenID Connect لپاره یو انځور شوی لارښود

په هرصورت، دا لارښود د ویډیو په بڼه هم شتون لري:

میرمنو او ښاغلو ، ښه راغلاست: OAuth 2.0

OAuth 2.0 یو امنیتي معیار دی چې یو غوښتنلیک ته اجازه ورکوي چې په بل غوښتنلیک کې معلوماتو ته د لاسرسي اجازه ترلاسه کړي. د جواز صادرولو لپاره د ګامونو لړۍ [اجازه] (يا رضایت [ رضایت ]) ډیری وختونه تلیفون کوي واک ورکول [اجازه ورکول] یا حتی سپارل شوی واک [استجار شوی واک]. د دې معیار سره، تاسو یو اپلیکیشن ته اجازه درکوي چې ډاټا ولولي یا ستاسو په استازیتوب د بل غوښتنلیک افعال وکاروئ پرته لدې چې خپل پټنوم ورکړئ. ټولګي!

د مثال په توګه، راځئ چې ووایو تاسو یو سایټ ومومئ چې نوم یې "د ورځې بدبختانه" دی. [د ورځې سخت عذاب] او پریکړه یې وکړه چې په تلیفون کې د متن پیغامونو په بڼه د ورځني ټکي ترلاسه کولو لپاره پدې کې راجستر کړئ. تاسو واقعیا سایټ خوښ کړ، او تاسو پریکړه وکړه چې دا د خپلو ټولو ملګرو سره شریک کړئ. په هرصورت، هرڅوک ډارونکي ټکان خوښوي، سمه ده؟

د OAuth او OpenID Connect لپاره یو انځور شوی لارښود
"د ورځې بدبختانه سزا: د هغه سړي په اړه اوریدلي چې د خپل بدن نیم نیم یې له لاسه ورکړی؟ اوس هغه تل سمه ده! (تقریبا ژباړه، ځکه چې اصلي خپل قلم لري - نږدې ژباړه.)

دا روښانه ده چې د اړیکو لیست څخه هر کس ته لیکل یو اختیار ندی. او، که تاسو زما په څیر لږ څه هم یاست، نو تاسو به د غیر ضروري کار څخه د مخنیوي لپاره هر حد ته لاړ شئ. خوشبختانه، د ورځې ډاریبل پن کولی شي خپل ټول ملګري پخپله بلنه ورکړي! د دې کولو لپاره ، تاسو اړتیا لرئ د خپلو اړیکو بریښنالیک ته لاسرسی خلاص کړئ - سایټ به پخپله دوی ته بلنه واستوي (OAuth قواعد)!

د OAuth او OpenID Connect لپاره یو انځور شوی لارښود
"هرڅوک د ټوکو سره مینه لري! - لا دمخه ننوتل؟ "ایا تاسو غواړئ چې د ورځې تریریبل پن ویب پاڼې ته اجازه ورکړئ چې ستاسو د اړیکو لیست ته لاسرسی ومومي؟ - له تاسو مننه! له اوس څخه، موږ به هره ورځ د وخت تر پایه پورې هر هغه چا ته چې تاسو یې پیژنئ یادونه لیږو! ته تر ټولو ښه ملګری یې!”

  1. خپل بریښنالیک خدمت غوره کړئ.
  2. که اړتیا وي، د میل سایټ ته لاړ شئ او خپل حساب ته ننوځئ.
  3. خپلو تماسونو ته د لاسرسي لپاره د ورځې ډاریبل پن اجازه ورکړئ.
  4. د ورځې د سخت عذاب سایټ ته بیرته راشئ.

په هغه صورت کې چې تاسو خپل فکر بدل کړئ، د OAuth کارولو غوښتنلیکونه د لاسرسي لغوه کولو لاره هم چمتو کوي. یوځل چې تاسو پریکړه وکړئ چې تاسو نور نه غواړئ د ورځې له ډاریبل پن سره اړیکې شریک کړئ ، تاسو کولی شئ د بریښنالیک سایټ ته لاړ شئ او د مجاز غوښتنلیکونو لیست څخه د پن سایټ لرې کړئ.

د OAuth جریان

موږ یوازې د هغه څه له لارې تللي یو چې معمولا ورته ویل کیږي جریان [بهیر] OAuth. زموږ په مثال کې، دا جریان د لیدلو ګامونو، او همدارنګه د څو ناڅرګندو مرحلو څخه جوړ دی، په کوم کې چې دوه خدمتونه د معلوماتو په خوندي تبادله موافق دي. د ورځې پخوانۍ ویره لرونکي سزا مثال خورا عام OAuth 2.0 جریان کاروي ، چې د "اجازت کوډ" جریان په نوم پیژندل کیږي. ["اجازت کوډ" جریان].

مخکې لدې چې د OAuth کار کولو څرنګوالي په اړه توضیحاتو ته لاړشئ ، راځئ چې د ځینې شرایطو معنی په اړه وغږیږو:

  • د سرچینې مالک:

    د OAuth او OpenID Connect لپاره یو انځور شوی لارښود

    دا تاسو یاست! تاسو خپل اسناد، ستاسو ډاټا، او ټول هغه فعالیتونه کنټرول کړئ چې ستاسو په حسابونو کې ترسره کیدی شي.

  • د مراجع:

    د OAuth او OpenID Connect لپاره یو انځور شوی لارښود

    یو غوښتنلیک (د مثال په توګه، د ورځې د خدمت ناوړه سزا) چې غواړي د دې په استازیتوب ځینې کړنې ته لاسرسی ولري یا ترسره کړي د سرچینې مالک'ا.

  • د واک ورکولو سرور:

    د OAuth او OpenID Connect لپاره یو انځور شوی لارښود

    هغه اپلیکیشن چې پوهیږي د سرچینې مالک'a او په کوم کې u د سرچینې مالکیو لا دمخه یو حساب لري.

  • د سرچینې سرور:

    د OAuth او OpenID Connect لپاره یو انځور شوی لارښود

    د غوښتنلیک پروګرام کولو انٹرفیس (API) یا خدمت چې د مراجع غواړي په استازیتوب وکاروي د سرچینې مالک'ا.

  • د URI بیا راستنول:

    د OAuth او OpenID Connect لپاره یو انځور شوی لارښود

    هغه لینک چې د واک ورکولو سرور به وګرځوي د سرچینې مالکاو د اجازې ورکولو وروسته د مراجعپه دا ځینې وختونه د "کال بیک URL" په نوم یادیږي.

  • د غبرګون ډول:

    د OAuth او OpenID Connect لپاره یو انځور شوی لارښود

    د معلوماتو ډول چې تمه کیږي ترلاسه شي د مراجع. ډیرمعمولی د غبرګون ډول'ohm کوډ دی، دا دی د مراجع د ترلاسه کولو تمه لري د واک کوډ.

  • حدود:

    د OAuth او OpenID Connect لپاره یو انځور شوی لارښود

    دا د اجازې تفصيلي توضیحات دي چې اړین دي د مراجعy، لکه ډیټا ته لاسرسۍ یا ځینې کړنې ترسره کول.

  • رضايت:

    د OAuth او OpenID Connect لپاره یو انځور شوی لارښود

    د واک ورکولو سرور اخلي سکپونهغوښتنه شوې د مراجعاوم، او پوښتنه کوي د سرچینې مالکa، ایا هغه چمتو کولو ته چمتو دی د مراجع'مناسب اجازې لري.

  • د پیرودونکي پیژند:

    د OAuth او OpenID Connect لپاره یو انځور شوی لارښود

    دا ID د پیژندلو لپاره کارول کیږي د مراجعیو پر د واک ورکولو سرور'e.

  • د پیرودونکي محرم:

    د OAuth او OpenID Connect لپاره یو انځور شوی لارښود

    دا یو پټنوم دی چې یوازې پیژندل کیږي د مراجعu او د واک ورکولو سرورپه دا دوی ته اجازه ورکوي چې په شخصي توګه معلومات شریک کړي.

  • د واک کوډ:

    د OAuth او OpenID Connect لپاره یو انځور شوی لارښود

    لنډمهاله کوډ د لنډې مودې اعتبار سره، کوم چې د مراجع چمتو کوي د واک ورکولو سرورپه بدل کې توکۍ لاسرسی.

  • توکۍ لاسرسی:

    د OAuth او OpenID Connect لپاره یو انځور شوی لارښود

    هغه کلیدي چې پیرودونکي به ورسره د خبرو اترو لپاره وکاروي د سرچینې سروراوم یو ډول بیج یا کلیدي کارت چې چمتو کوي د مراجعد معلوماتو غوښتنه کولو یا د عملونو ترسره کولو اجازه لري د سرچینې سرورستاسو په استازیتوب.

تبصره: ځینې وختونه د اختیار ورکولو سرور او د سرچینې سرور ورته سرور وي. په هرصورت، په ځینو مواردو کې، دا ممکن مختلف سرورونه وي، حتی که دوی د ورته سازمان سره تړاو نلري. د مثال په توګه، د اختیار ورکولو سرور ممکن د دریمې ډلې خدمت وي چې د سرچینې سرور لخوا باوري وي.

اوس چې موږ د OAuth 2.0 اصلي مفکورې پوښلې دي، راځئ چې بیرته خپل مثال ته لاړ شو او نږدې وګورو چې د OAuth جریان کې څه پیښیږي.

د OAuth او OpenID Connect لپاره یو انځور شوی لارښود

  1. ته، د سرچینې مالک، تاسو غواړئ د ورځې خورا خطرناکه خدمت چمتو کړئ (د مراجعy) ستاسو اړیکو ته لاسرسی ترڅو دوی وکولی شي ستاسو ټولو ملګرو ته بلنه واستوي.
  2. د مراجع براوزر پاڼې ته لیږل کیږي د واک ورکولو سرور'a او په پوښتنه کې شامل دي د پیرودونکي پیژند, د URI بیا راستنول, د غبرګون ډول او یو یا ډیر سکپونه (اجازې) ته اړتیا لري.
  3. د واک ورکولو سرور تاسو تاییدوي، د اړتیا په صورت کې د کارن نوم او پټنوم غوښتنه کوي.
  4. د واک ورکولو سرور بڼه ښکاره کوي رضايت (تاییدونه) د ټولو لیست سره سکپونهغوښتنه شوې د مراجعاوم تاسو موافق یاست یا رد کړئ.
  5. د واک ورکولو سرور تاسو سایټ ته لیږل کیږي د مراجعa، په کارولو سره د URI بیا راستنول سره یوځای د واک کوډ (د اجازې کوډ).
  6. د مراجع سره مستقیم اړیکه لري د واک ورکولو سرور'ohm (د براوزر څخه تیریدل د سرچینې مالک'a) او په خوندي توګه لیږل کیږي د پیرودونکي پیژند, د پیرودونکي محرم и د واک کوډ.
  7. د واک ورکولو سرور ډاټا چک کوي او ځواب ورکوي توکۍ لاسرسیاوم (د لاسرسي نښه).
  8. اوس د مراجع کارولی شي توکۍ لاسرسی د غوښتنې لیږلو لپاره د سرچینې سرور د اړیکو لیست ترلاسه کولو لپاره.

د پیرودونکي ID او راز

مخکې لدې چې تاسو خپلو اړیکو ته د لاسرسي لپاره د ورځې ډاریبل پن ته اجازه ورکړئ ، د پیرودونکي او اختیار ورکولو سرور کاري اړیکه رامینځته کړې وه. د اختیار ورکولو سرور د پیرودونکي ID او د پیرودونکي راز رامینځته کړی (کله ناکله ورته ویل کیږي د اپارتمان ID и د اپلیکیشن راز) او په OAuth کې د نورو متقابل عمل لپاره یې پیرودونکي ته واستول.

د OAuth او OpenID Connect لپاره یو انځور شوی لارښود
"- سلام! زه غواړم له تاسو سره کار وکړم! - البته، کومه ستونزه نه ده! دلته ستاسو د پیرودونکي ID او راز دی!

نوم پدې معنی دی چې د پیرودونکي راز باید پټ وساتل شي ترڅو یوازې پیرودونکي او د اختیار ورکولو سرور پدې پوه شي. په هرصورت، دا د هغه په ​​​​مرسته ده چې د واک ورکولو سرور د پیرودونکي حقیقت تاییدوي.

مګر دا ټول نه دي ... مهرباني وکړئ د OpenID Connect ته ښه راغلاست!

OAuth 2.0 یوازې د دې لپاره ډیزاین شوی جواز - د یو غوښتنلیک څخه بل ته ډیټا او افعال ته لاسرسی چمتو کول. پرانيستی پیوستون (OIDC) د OAuth 2.0 په پورتنۍ برخه کې یو پتلی پرت دی چې د هغه کارونکي د ننوتلو او پروفایل توضیحات اضافه کوي چې په حساب کې ننوتلی وي. د ننوتلو ناستې تنظیم اکثرا ورته ویل کیږي تصدیق [تصدیق]، او په سیسټم کې د ننوتلو کارونکي په اړه معلومات (د مثال په اړه د سرچینې مالک'e) - شخصي معلومات [پیژندنه]. که د واک ورکولو سرور د OIDC ملاتړ کوي، دا ځینې وختونه ورته ویل کیږي د شخصي معلوماتو چمتو کونکی [پیژندونکی]ځکه چې دا برابروي د مراجعپه اړه معلومات لري د سرچینې مالک'e.

د OpenID Connect تاسو ته اجازه درکوي سناریوګانې پلي کړئ چیرې چې یو واحد ننوتل په ډیری غوښتنلیکونو کې کارول کیدی شي - دا طریقه هم پیژندل کیږي یوځل لاسلیک کول (SSO). د مثال په توګه، یو اپلیکیشن ممکن د ټولنیزو شبکو لکه فیسبوک یا ټویټر سره د SSO ادغام ملاتړ وکړي، کاروونکو ته اجازه ورکوي چې یو حساب وکاروي چې دوی یې مخکې لري او کارول یې غوره کوي.

د OAuth او OpenID Connect لپاره یو انځور شوی لارښود

جریان (بهی) OpenID Connect د OAuth په قضیه کې ورته ښکاري. یوازینی توپیر دا دی چې په ابتدايي غوښتنه کې، کارول شوی ځانګړی سکوپ دی openid، - الف د مراجع په پای کې ورته کیږي توکۍ لاسرسی، او د ID نښه.

د OAuth او OpenID Connect لپاره یو انځور شوی لارښود

لکه څنګه چې د OAuth جریان کې، توکۍ لاسرسی په OpenID Connect کې، دا یو څه ارزښت دی چې روښانه ندی د مراجعپه له نظره د مراجعتوکۍ لاسرسی د حروفونو یو تار استازیتوب کوي چې د هرې غوښتنې سره لیږدول کیږي د سرچینې سرور'y، کوم چې ټاکي که نښه د اعتبار وړ وي. د ID نښه په بشپړ ډول مختلف شیان استازیتوب کوي.

د ID نښه یو JWT دی

د ID نښه د کرکټرونو یو ځانګړی شکل شوی تار دی چې د JSON ویب ټوکن یا JWT په نوم پیژندل کیږي (ځینې وختونه د JWT ټوکن د "جوټس" په څیر تلفظ کیږي). د بهرنی څارونکو لپاره، JWT ممکن د نه پوهیدو وړ ګبرش په څیر ښکاري، مګر د مراجع کولی شي د JWT څخه مختلف معلومات راوباسي، لکه ID، کارن نوم، د ننوتلو وخت، د ختمیدو نیټه د ID نښهa، د JWT سره د مداخلې لپاره د هڅو شتون. دننه ډاټا د ID نښهa بلل کیږي غوښتنلیکونه [دعوې].

د OAuth او OpenID Connect لپاره یو انځور شوی لارښود

د OIDC په قضیه کې، یو معیاري لاره هم شتون لري چې له مخې یې د مراجع کیدای شي د فرد په اړه د اضافي معلوماتو غوښتنه وکړي [پیژندنه] от د واک ورکولو سرور'a، د مثال په توګه، د بریښنالیک پته کارول توکۍ لاسرسی.

د OAuth او OIDC په اړه نور معلومات ترلاسه کړئ

نو، موږ په لنډه توګه بیاکتنه وکړه چې څنګه OAuth او OIDC کار کوي. د ژور کیندلو لپاره چمتو یاست؟ دلته اضافي سرچینې دي چې تاسو سره د OAuth 2.0 او OpenID Connect په اړه نور معلومات زده کولو کې مرسته کوي:

د تل په څیر، د نظر ورکولو لپاره وړیا احساس وکړئ. زموږ د وروستي خبرونو سره تازه ساتلو لپاره، ګډون وکړئ ټویټر и YouTube د پراختیا کونکو لپاره اوکټا!

PS د ژباړونکي څخه

زموږ په بلاګ کې هم ولولئ:

سرچینه: www.habr.com

Add a comment