ለOAuth እና ለክፍት መታወቂያ ግንኙነት የተገለጸ መመሪያ

ማስታወሻ. ትርጉምOAuth እና OIDC (OpenID Connect) በቀላል እና ግልጽ በሆነ መንገድ እንዴት እንደሚሠሩ ይህ የኦክታ ታላቅ መጣጥፍ ያብራራል። ይህ እውቀት ከሌሎች አገልግሎቶች ጋር ሚስጥራዊ ውሂብ ለሚለዋወጡት ገንቢዎች፣ የስርዓት አስተዳዳሪዎች እና ለታዋቂ የድር መተግበሪያዎች "መደበኛ ተጠቃሚዎች" እንኳን ጠቃሚ ይሆናል።

በድንጋይ በይነመረብ ዘመን በአገልግሎቶች መካከል መረጃን መጋራት ቀላል ነበር። በቀላሉ የእርስዎን መግቢያ እና የይለፍ ቃል ከአንዱ አገልግሎት ወደ ሌላ ሰጥተሃል፣ በዚህም ወደ መለያህ አስገብቶ የሚፈልገውን ማንኛውንም መረጃ ተቀብሏል።

ለOAuth እና ለክፍት መታወቂያ ግንኙነት የተገለጸ መመሪያ
"የባንክ ሂሳብህን ስጠኝ" በይለፍ ቃል እና በገንዘብ ሁሉም ነገር መልካም እንደሚሆን ቃል እንገባለን። ያ ሐቀኛ ፣ ሐቀኛ ነው! ” *ሂ ሂ*

አስፈሪ! ማንም ተጠቃሚው የተጠቃሚ ስም እና የይለፍ ቃል እንዲያጋራ ሊጠይቅ አይገባም። ምስክርነቶች, ከሌላ አገልግሎት ጋር. ከዚህ አገልግሎት በስተጀርባ ያለው ድርጅት የመረጃውን ደህንነት ለመጠበቅ እና ከአስፈላጊው በላይ ተጨማሪ የግል መረጃዎችን እንደማይሰበስብ ምንም ዋስትና የለም. ምናልባት እብድ ሊመስል ይችላል፣ ግን አንዳንድ መተግበሪያዎች አሁንም ይህንን አሰራር ይጠቀማሉ!

ዛሬ አንድ አገልግሎት የሌላውን መረጃ ደህንነቱ በተጠበቀ ሁኔታ እንዲጠቀም የሚያስችል አንድ ነጠላ መስፈርት አለ። በሚያሳዝን ሁኔታ, እንደዚህ አይነት ደረጃዎች ብዙ ቃላትን እና ቃላትን ይጠቀማሉ, ይህም ግንዛቤያቸውን ያወሳስበዋል. የዚህ ጽሑፍ ዓላማ ቀላል ምሳሌዎችን በመጠቀም እንዴት እንደሚሠሩ ለማብራራት ነው (ሥዕሎቼ የልጆችን ድፍድፍ ይመስላል? ኦው!)

ለOAuth እና ለክፍት መታወቂያ ግንኙነት የተገለጸ መመሪያ

በነገራችን ላይ ይህ መመሪያ በቪዲዮ ቅርጸትም ይገኛል፡-

ክቡራትና ክቡራን፣ እንኳን ደህና መጣችሁ፡ OAuth 2.0

ኦአውት 2.0 አንድ መተግበሪያ በሌላ መተግበሪያ ውስጥ መረጃን ለማግኘት ፈቃድ እንዲያገኝ የሚያስችል የደህንነት ደረጃ ነው። ፈቃድ ለማውጣት የእርምጃዎች ቅደም ተከተል [ፍቃድ] (ወይም ስምምነት [ስምምነት]) ብዙ ጊዜ ይደውሉ ፍቃድ መስጠት [ፍቃድ] ወይም ከዚያ በላይ የውክልና ፍቃድ [የተወከለ ፈቃድ]. በዚህ መስፈርት መተግበሪያ የይለፍ ቃልዎን ሳይሰጡ ውሂብ እንዲያነብ ወይም እርስዎን ወክሎ የሌላ መተግበሪያ ተግባራትን እንዲጠቀም ይፈቅዳሉ። ክፍል!

ለአብነት ያህል፣ “የቀኑ የማይታደል ፑን” የሚባል ጣቢያ አግኝተዋል እንበል። [የእለቱ አስፈሪ ንግግር] እና በቴሌፎን ላይ በጽሑፍ መልእክት መልክ በየቀኑ ቅጣቶችን ለመቀበል በእሱ ላይ ለመመዝገብ ወሰነ. ጣቢያውን በእውነት ወድደውታል፣ እና ከሁሉም ጓደኞችዎ ጋር ለመጋራት ወስነዋል። ደግሞም ሁሉም ሰው አስጸያፊ ንግግሮችን ይወዳል። አይደል?

ለOAuth እና ለክፍት መታወቂያ ግንኙነት የተገለጸ መመሪያ
“የእለቱ መጥፎ አጋጣሚ፡ የግማሹን የሰውነት ክፍል ስለጠፋው ሰው ሰምቷል? አሁን እሱ ሁል ጊዜ ትክክል ነው! ” (ግምታዊ ትርጉም፣ ምክንያቱም ዋናው የራሱ የሆነ ጥቅስ አለው - approx. transl.)

ከእውቅያ ዝርዝር ውስጥ ለእያንዳንዱ ሰው መጻፍ አማራጭ እንዳልሆነ ግልጽ ነው. እና እንደ እኔ ትንሽ ከሆንክ አላስፈላጊ ስራን ለማስወገድ ማንኛውንም እርምጃ ትሄዳለህ። እንደ እድል ሆኖ፣ የቀን አስፈሪው ፑን ሁሉንም ጓደኞችዎን በራሱ መጋበዝ ይችላል! ይህንን ለማድረግ የእውቂያዎችዎን ኢሜል መዳረሻ መክፈት ብቻ ያስፈልግዎታል - ጣቢያው ራሱ ግብዣዎችን ይልካቸዋል (የOAuth ህጎች)!

ለOAuth እና ለክፍት መታወቂያ ግንኙነት የተገለጸ መመሪያ
"ሁሉም ሰው ቅጣቶችን ይወዳል! - አስቀድመው ገብተዋል? "የቀን ፑን ድህረ ገጽ አድራሻህን እንዲደርስ መፍቀድ ትፈልጋለህ? - አመሰግናለሁ! ከአሁን ጀምሮ፣ ለምታውቁት ሁሉ በየቀኑ አስታዋሾችን እንልካለን፣ እስከ ጊዜ ፍጻሜ! አንተ ምርጥ ጓደኛ ነህ!"

  1. የኢሜል አገልግሎትዎን ይምረጡ።
  2. አስፈላጊ ከሆነ ወደ የፖስታ ጣቢያው ይሂዱ እና ወደ መለያዎ ይግቡ።
  3. እውቂያዎችዎን እንዲደርስበት ለቀኑ አስፈሪ ቅጣትን ይስጡ።
  4. ወደ ቀን ጣቢያው አስፈሪው ፐን ተመለስ።

ሃሳብዎን ከቀየሩ፣ OAuthን የሚጠቀሙ መተግበሪያዎች መዳረሻን የመሻር ዘዴን ይሰጣሉ። አንዴ ከአሁን በኋላ እውቂያዎችን ከ Terrible Pun of the day ጋር ማጋራት እንደማይፈልጉ ከወሰኑ ወደ የፖስታ ጣቢያው ይሂዱ እና የሥርዓተ ነጥቡን ከተፈቀዱ ማመልከቻዎች ዝርዝር ውስጥ ያስወግዱት።

የOAuth ፍሰት

በተለምዶ የሚጠራውን አልፈናል። ፍሰት [ፍሰት] OAuth በእኛ ምሳሌ, ይህ ፍሰት የሚታዩ ደረጃዎችን, እንዲሁም በርካታ የማይታዩ ደረጃዎችን ያካትታል, በዚህ ውስጥ ሁለት አገልግሎቶች በአስተማማኝ የመረጃ ልውውጥ ላይ ይስማማሉ. የቀደመ አስፈሪው የቀን ምሳሌ በጣም የተለመደውን የOAuth 2.0 ፍሰትን ይጠቀማል፣ የ"ፈቃድ ኮድ" ፍሰት። ["የፍቃድ ኮድ" ፍሰት].

OAuth እንዴት እንደሚሰራ ወደ ዝርዝሮች ከመግባታችን በፊት፣ ስለ አንዳንድ ቃላት ትርጉም እንነጋገር፡-

  • የንብረት ባለቤት:

    ለOAuth እና ለክፍት መታወቂያ ግንኙነት የተገለጸ መመሪያ

    አንተ ነህ! ምስክርነቶችዎ፣ ውሂቦችዎ እና በመለያዎችዎ ላይ ሊደረጉ የሚችሉትን ሁሉንም እንቅስቃሴዎች በባለቤትነት ይቆጣጠራሉ።

  • ደምበኛ:

    ለOAuth እና ለክፍት መታወቂያ ግንኙነት የተገለጸ መመሪያ

    አፕሊኬሽን (ለምሳሌ፣ The Terrible Pun of the Day አገልግሎት) የተወሰኑ እርምጃዎችን ለማግኘት ወይም ለማከናወን የሚፈልግ የንብረት ባለቤት"አ.

  • የፈቃድ አገልጋይ:

    ለOAuth እና ለክፍት መታወቂያ ግንኙነት የተገለጸ መመሪያ

    የሚያውቀው መተግበሪያ የንብረት ባለቤት'ሀ እና በየትኛው ዩ የንብረት ባለቤትአስቀድሞ መለያ አለህ።

  • የንብረት አገልጋይ:

    ለOAuth እና ለክፍት መታወቂያ ግንኙነት የተገለጸ መመሪያ

    የመተግበሪያ ፕሮግራሚንግ በይነገጽ (ኤፒአይ) ወይም አገልግሎት ደምበኛ ወክሎ መጠቀም ይፈልጋል የንብረት ባለቤት"አ.

  • URI አዙር:

    ለOAuth እና ለክፍት መታወቂያ ግንኙነት የተገለጸ መመሪያ

    ያ አገናኝ የፈቃድ አገልጋይ አቅጣጫ ይቀይራል። የንብረት ባለቤትእና ፈቃድ ከሰጠ በኋላ ደምበኛ"በ. አንዳንድ ጊዜ "የመልሶ መደወል URL" ተብሎ ይጠራል.

  • የምላሽ አይነት:

    ለOAuth እና ለክፍት መታወቂያ ግንኙነት የተገለጸ መመሪያ

    እንደሚደርሰው የሚጠበቀው የመረጃ አይነት ደምበኛ. በጣም የተለመደው የምላሽ አይነት'ኦህም ኮድ ነው ፣ ማለትም ደምበኛ መቀበልን ይጠብቃል የፈቃድ ኮድ.

  • አድማስ:

    ለOAuth እና ለክፍት መታወቂያ ግንኙነት የተገለጸ መመሪያ

    ይህ የሚፈለጉትን ፈቃዶች ዝርዝር መግለጫ ነው። ደምበኛy፣ እንደ ውሂብ መድረስ ወይም የተወሰኑ እርምጃዎችን ማከናወን።

  • መስማማት:

    ለOAuth እና ለክፍት መታወቂያ ግንኙነት የተገለጸ መመሪያ

    የፈቃድ አገልጋይ ይወስዳል ወሰንጠየቀ ደምበኛ'እናም ይጠይቃል የንብረት ባለቤትሀ, ለማቅረብ ዝግጁ ነው ደምበኛተገቢው ፈቃዶች አሉዎት።

  • የደንበኛ መታወቂያ:

    ለOAuth እና ለክፍት መታወቂያ ግንኙነት የተገለጸ መመሪያ

    ይህ መታወቂያ ለመለየት ጥቅም ላይ ይውላል ደምበኛ' ላይ የፈቃድ አገልጋይኢ.

  • የደንበኛ ምስጢር:

    ለOAuth እና ለክፍት መታወቂያ ግንኙነት የተገለጸ መመሪያ

    ይህ የሚታወቀው የይለፍ ቃል ብቻ ነው። ደምበኛአንተ እና የፈቃድ አገልጋይ"በ. መረጃን በግል እንዲያካፍሉ ያስችላቸዋል።

  • የፈቃድ ኮድ:

    ለOAuth እና ለክፍት መታወቂያ ግንኙነት የተገለጸ መመሪያ

    የአጭር ጊዜ ቆይታ ያለው ጊዜያዊ ኮድ፣ ይህም ደምበኛ ይሰጣል የፈቃድ አገልጋይበመተካት ማስመሰያ ድረስበት.

  • ማስመሰያ ድረስበት:

    ለOAuth እና ለክፍት መታወቂያ ግንኙነት የተገለጸ መመሪያ

    ደንበኛው ለመገናኘት የሚጠቀምበት ቁልፍ የንብረት አገልጋይ'ኦ. የሚያቀርብ ዓይነት ባጅ ወይም የቁልፍ ካርድ ደምበኛ"ውሂብ ለመጠየቅ ወይም እርምጃዎችን ለማከናወን ፍቃድ አለህ የንብረት አገልጋይበአንተ ስም።

አመለከተአንዳንድ ጊዜ ፍቃድ አገልጋይ እና ሪሶርስ አገልጋይ አንድ አይነት አገልጋይ ናቸው። ሆኖም፣ በአንዳንድ ሁኔታዎች፣ እነዚህ የአንድ ድርጅት አባል ባይሆኑም የተለያዩ አገልጋዮች ሊሆኑ ይችላሉ። ለምሳሌ፣ ፍቃድ አገልጋዩ በንብረት አገልጋዩ የሚታመን የሶስተኛ ወገን አገልግሎት ሊሆን ይችላል።

አሁን የOAuth 2.0 ዋና ፅንሰ ሀሳቦችን ከሸፈንን፣ ወደ ምሳሌአችን እንመለስ እና በOAuth ፍሰት ውስጥ ምን እንደሚፈጠር ጠለቅ ብለን እንይ።

ለOAuth እና ለክፍት መታወቂያ ግንኙነት የተገለጸ መመሪያ

  1. አንተ, የንብረት ባለቤት፣ የቀኑን አስፈሪ ፐን አገልግሎት መስጠት ይፈልጋሉ (ደምበኛy) ለሁሉም ጓደኞችህ ግብዣ መላክ እንዲችሉ ወደ እውቂያዎችህ መድረስ።
  2. ደምበኛ አሳሹን ወደ ገጹ ያዞራል። የፈቃድ አገልጋይa እና በጥያቄ ውስጥ ያካትቱ የደንበኛ መታወቂያ, URI አዙር, የምላሽ አይነት እና አንድ ወይም ከዚያ በላይ ወሰን (ፍቃዶች) ያስፈልገዋል.
  3. የፈቃድ አገልጋይ አስፈላጊ ከሆነ የተጠቃሚ ስም እና የይለፍ ቃል በመጠየቅ ያረጋግጣል።
  4. የፈቃድ አገልጋይ ቅጽ ያሳያል መስማማት (ማረጋገጫዎች) ከሁሉም ዝርዝር ጋር ወሰንጠየቀ ደምበኛ'ኦ. ተስማምተሃል ወይም እምቢ ማለትህ ነው።
  5. የፈቃድ አገልጋይ ወደ ጣቢያው ይመራዎታል ደምበኛሀ ፣ በመጠቀም URI አዙር አንድ ላይ የፈቃድ ኮድ (የፍቃድ ኮድ)።
  6. ደምበኛ ጋር በቀጥታ ይገናኛል። የፈቃድ አገልጋይኦህ (አሳሹን በማለፍ የንብረት ባለቤትሀ) እና በደህና ይልካል የደንበኛ መታወቂያ, የደንበኛ ምስጢር и የፈቃድ ኮድ.
  7. የፈቃድ አገልጋይ ውሂቡን ይፈትሻል እና ምላሽ ይሰጣል ማስመሰያ ድረስበት'om (የመዳረሻ ማስመሰያ)።
  8. አሁን ደምበኛ መጠቀም ይችላል። ማስመሰያ ድረስበት ጥያቄ ለመላክ የንብረት አገልጋይ የእውቂያዎች ዝርዝር ለማግኘት.

የደንበኛ መታወቂያ እና ምስጢር

የእለቱ አስፈሪ እውቂያዎችዎን እንዲደርስ ከመፍቀዱ ከረጅም ጊዜ በፊት ደንበኛው እና ፈቀዳ አገልጋዩ የስራ ግንኙነት ፈጥሯል። የፈቃድ አገልጋዩ የደንበኛ መታወቂያ እና የደንበኛ ሚስጥር አመነጨ (አንዳንድ ጊዜ ይባላል የመተግበሪያ መታወቂያ и የመተግበሪያ ሚስጥር) እና በOAuth ውስጥ ለበለጠ መስተጋብር ወደ ደንበኛው ላካቸው።

ለOAuth እና ለክፍት መታወቂያ ግንኙነት የተገለጸ መመሪያ
"- ሀሎ! ከእርስዎ ጋር መሥራት እፈልጋለሁ! - በእርግጥ, ችግር አይደለም! የደንበኛ መታወቂያዎ እና ሚስጥራዊዎ እነሆ!”

ስሙ የሚያመለክተው የደንበኛ እና የፍቃድ አገልጋዩ ብቻ እንዲያውቀው የደንበኛ ሚስጥር በሚስጥር መያዝ እንዳለበት ነው። ከሁሉም በላይ የፍቃድ አገልጋዩ የደንበኛውን እውነት የሚያረጋግጠው በእሱ እርዳታ ነው።

ግን ያ ብቻ አይደለም...እባክዎ እንኳን ደህና መጡ OpenID Connect!

OAuth 2.0 የተነደፈው ለ ብቻ ነው። ፈቃድ መስጠት - ከአንድ መተግበሪያ ወደ ሌላ የውሂብ እና ተግባራት መዳረሻ ለማቅረብ. OpenID አገናኝ (OIDC) በ OAuth 2.0 ላይ ያለ ቀጭን ንብርብር ሲሆን ወደ መለያው የገባውን ተጠቃሚ የመግቢያ እና የመገለጫ ዝርዝሮችን ይጨምራል። የመግቢያ ክፍለ ጊዜ አደረጃጀት ብዙውን ጊዜ ይባላል ማረጋገጥ [ማረጋገጫ], እና ስለ ተጠቃሚው ወደ ስርዓቱ የገባ መረጃ (ማለትም ስለ የንብረት ባለቤትኢ), - የግል መረጃ [ማንነት]. የፍቃድ አገልጋዩ OIDCን የሚደግፍ ከሆነ አንዳንድ ጊዜ እንደ ይባላል የግል ውሂብ አቅራቢ [ማንነት አቅራቢ]ምክንያቱም ያቀርባል ደምበኛስለ መረጃ አለኝ የንብረት ባለቤትኢ.

OpenID Connect አንድ ነጠላ መግቢያ በበርካታ መተግበሪያዎች ውስጥ ጥቅም ላይ የሚውልባቸውን ሁኔታዎችን እንዲተገብሩ ይፈቅድልዎታል - ይህ አካሄድ በመባልም ይታወቃል ነጠላ መግቢያ (ኤስኤስኦ) ለምሳሌ፣ አፕሊኬሽኑ እንደ ፌስቡክ ወይም ትዊተር ካሉ ማህበራዊ አውታረ መረቦች ጋር የኤስኤስኦ ውህደትን ሊደግፍ ይችላል፣ ይህም ተጠቃሚዎች ቀደም ብለው ያላቸውን እና ለመጠቀም የሚመርጡትን መለያ እንዲጠቀሙ ያስችላቸዋል።

ለOAuth እና ለክፍት መታወቂያ ግንኙነት የተገለጸ መመሪያ

የፍሰት (ፍሰት) ክፍት መታወቂያ ግንኙነት በOAuth ሁኔታ ላይ ተመሳሳይ ይመስላል። ብቸኛው ልዩነት በዋና ጥያቄ ውስጥ, ጥቅም ላይ የዋለው የተወሰነ ወሰን ነው openid, - ኤ ደምበኛ በመጨረሻም እንደ ይሆናል ማስመሰያ ድረስበት, እና መታወቂያ ማስመሰያ.

ለOAuth እና ለክፍት መታወቂያ ግንኙነት የተገለጸ መመሪያ

ልክ እንደ OAuth ፍሰት፣ ማስመሰያ ድረስበት በOpenID Connect ውስጥ ይህ ግልጽ ያልሆነ የተወሰነ እሴት ነው። ደምበኛ' በ. ከእይታ አንፃር ደምበኛ"አ ማስመሰያ ድረስበት ከእያንዳንዱ ጥያቄ ጋር የሚተላለፉ የቁምፊዎች ሕብረቁምፊን ይወክላል የንብረት አገልጋይ'y፣ ይህም ማስመሰያው ትክክል መሆኑን የሚወስነው። መታወቂያ ማስመሰያ ፍጹም የተለየ ነገርን ይወክላል.

መታወቂያ ማስመሰያ JWT ነው።

መታወቂያ ማስመሰያ JSON Web Token ወይም JWT በመባል የሚታወቅ በልዩ ሁኔታ የተቀረጸ የቁምፊዎች ሕብረቁምፊ ነው። (አንዳንድ ጊዜ JWT ቶከኖች እንደ “ጆትስ” ይባላሉ). ለውጭ ታዛቢዎች፣ JWT ለመረዳት የማይቻል ጅብ ሊመስል ይችላል፣ ግን ደምበኛ እንደ መታወቂያ፣ የተጠቃሚ ስም፣ የመግቢያ ሰዓት፣ የአገልግሎት ማብቂያ ጊዜ የመሳሰሉ የተለያዩ መረጃዎችን ከJWT ማውጣት ይችላል። መታወቂያ ማስመሰያሀ፣ በJWT ላይ ጣልቃ ለመግባት ሙከራዎች መኖራቸው። በውስጥ ያለው ውሂብ መታወቂያ ማስመሰያ‹ሀ ተጠርተዋል። መተግበሪያዎች [የይገባኛል ጥያቄዎች].

ለOAuth እና ለክፍት መታወቂያ ግንኙነት የተገለጸ መመሪያ

በኦህዴድ ጉዳይ ላይ መደበኛ የሆነ መንገድም አለ። ደምበኛ ስለ ግለሰቡ ተጨማሪ መረጃ ሊጠይቅ ይችላል [ማንነት] от የፈቃድ አገልጋይ"ሀ፣ ለምሳሌ፣ በመጠቀም የኢሜል አድራሻ ማስመሰያ ድረስበት.

ስለ OAuth እና OIDC የበለጠ ይወቁ

ስለዚህ፣ OAuth እና OIDC እንዴት እንደሚሠሩ በአጭሩ ገምግመናል። በጥልቀት ለመቆፈር ዝግጁ ነዎት? ስለ OAuth 2.0 እና OpenID Connect የበለጠ ለማወቅ እንዲረዳዎ ተጨማሪ ግብዓቶች እነኚሁና፡

እንደ ሁልጊዜው አስተያየት ለመስጠት ነፃነት ይሰማዎ። ወቅታዊ ዜናዎቻችንን ለማግኘት፣ ሰብስክራይብ ያድርጉ Twitter и YouTube ኦክታ ለገንቢዎች!

PS ከተርጓሚ

በብሎጋችን ላይ ያንብቡ፡-

ምንጭ: hab.com

አስተያየት ያክሉ