Гарын авлагууд

OAuth гэж юу вэ? «Google-ээр нэвтрэх» ба эрхийн хандалтыг тайлбарлая

OAuth бол хэрэглэгч нэг аппд нөгөө үйлчилгээний дансандаа хязгаарлагдмал хандалт өгөх, нууц үгээ өгөлгүйгээр нээлттэй стандарт юм. «Connect Google Calendar» товчийг дараад «Энэ апп таны үйл явдлуудыг харах уу?» гэсэн дэлгэц гарч ирэхэд энэ нь OAuth юм. Апп зөвхөн та зөвшөөрсөн зүйлд зориулсан токен авдаг бөгөөд үүнийг хүссэн үедээ цуцалж болно. Үүнтэй ижил механизм, нэмэлт OpenID Connect давхарга нэмснээр «Google-ээр нэвтрэх» болон үүнтэй төстэй товчлууруудыг бүрдүүлдэг.

Яагаад OAuth AI-аар бүтээхэд чухал вэ

OAuth аппаа бүтээх үед хоёр нийтлэг тохиолдолд гарч ирдэг:

  1. Нийгмийн нэвтрэлт. Хэрэглэгчид шинэ нууц үг үүсгэлгүйгээр «Google-ээр нэвтрэх» (эсвэл Apple, Microsoft, GitHub) ашиглах. Харна уу: аппдаа нэвтрэлт нэмэх арга.
  2. Хэрэглэгчдийн бусад үйлчилгээний дансанд холбогдох. Таны апп хэрэглэгчийн календарь унших, социал дансанд нийтлэх, cloud drive-ээс файл татах эсвэл нягтлангийн өгөгдлөө синк хийх хэрэгтэй.

Аль ч тохиолдолд AI builder таны кодыг бичиж чадна, гэвч зарим алхмыг зөвхөн та хийх ёстой: үйлчилгээ олгогчтой developer апп үүсгэх, client ID болон client secret авах, callback URL бүртгэх, зарим эрхийн хувьд үйлчилгээ олгогчийн шалгалтад тэнцэх. OAuth хэрхэн ажилладагийг мэдвэл эдгээр алхмууд болон тэдгээрийн алдаа бүхэлдээ бага төөрөгдүүлдэг болно. Нэвтрэлтийн илүү том зургийг авахыг хүсвэл нэвтрэлт гэж юу вэ-г үзнэ үү.

Өдөр тутмын зүйрлэл

Зочид буудлын хаалганы картыг бодоорой. Бүртгүүлэхдээ ресепшн таныг баталгаажуулаад, танай өрөө болон спорт заалд нээгддэг, харин бусад өрөө, ажилтны хэсэгт биш картыг өгнө. Карт нь таны паспортыг агуулдаггүй. Гарах үед картыг цуцална, алдсан бол шинийг нь олгоно.

  • Ресепшн бол зөвшөөрөл олгогч сервер (Google-ийн нэвтрэх хуудас).
  • Таны таниулалт бол Google-д нэвтрэх.
  • Хаалганы карт бол хандалтын токен.
  • «Өрөө ба спорт заал л» бол таны зөвшөөрсөн scope-ууд.
  • Гарах бол токены хугацаа дуусах, эсвэл та хандалтыг цуцлах.

Та ашиглаж буй апп таны Google нууц үгийг хэзээ ч харахгүй, зөвхөн картыг нь харна.

OAuth хэрхэн ажилладаг вэ, алхам алхмаар

Вэб аппуудын хамгийн түгээмэл урсгал бол authorization code flow. Хэрэглэгч Google календараа scheduling аппдаа холбох үед дараах зүйл болно:

  1. Дарах. Хэрэглэгч «Connect Google Calendar» дарна.
  2. Үйлчилгээ олгогч рүү шилжүүлэх. Апп хөтчийг Google руу client ID, хүссэн scope-ууд (календарийн үйл явдлыг унших) болон redirect URI-тай илгээнэ — Google хэрэглэгчийг буцааж хаашаа илгээх хаяг.
  3. Нэвтрэх, зөвшөөрөх. Хэрэглэгч Google-д нэвтэрнэ (хэрэв аль хэдийн нэвтрээгүй бол) мөн апп юу хүсч буйг жагсаасан зөвшөөрлийн дэлгэцийг харж, Allow дарна.
  4. Кодтой буцах. Google хөтчийг аппын redirect URI руу богино хугацаатай, нэг удаагийн authorization code-тойгоор буцаана.
  5. Серверт солилцох. Аппын сервер тэр кодыг client secret-тэйгээ хамт шууд Google рүү илгээж, access token (ихэвчлэн мөн refresh token) авна.
  6. API ашиглах. Сервер access token-оор Google Calendar API-г дуудаж, хэрэглэгчийн үйл явдлуудыг авна.

Дөрөвдүгээр алхам дахь callback ийм харагдана:

https://yourapp.com/auth/google/callback?code=4/0Adeu5B...&state=x7Kq9

Тавдугаар алхам дахь токений хариу нь JSON шиг байна:

{
  "access_token": "ya29.a0Af...",
  "expires_in": 3599,
  "refresh_token": "1//0gL...",
  "scope": "https://www.googleapis.com/auth/calendar.readonly",
  "token_type": "Bearer"
}

Чухал зарчим: токений солилцоо сервер-сервер хооронд явагддаг тул client secret болон токенууд хөтчөөр хэзээ ч дамжих шаардлагагүй.

OAuth, OpenID Connect ба өөрийн нэвтрэлт

Юуг хариулдаг вэЖишээ
OAuth 2.0«Энэ апп хэрэглэгчийн өмнөөс юу хийж болох вэ?» (зөвшөөрөл)Хэрэглэгчийн календарийг унших
OpenID Connect (OIDC)«Энэ хэрэглэгч хэн бэ?» (таниулалт), OAuth дээр суурилсан«Google-ээр нэвтрэх» баталгаажсан имэйл буцаах
Өөрийн нэвтрэлт«Энэ дансанд зөв нууц үг мөн үү?»Имэйл, нууц үг (хэшлэгдсэн) өгөгдлийн санд

Олон апп тэдгээрийг хослуулдаг: имэйл, нууц үгээр нэвтрэлт, OIDC-ээр «Google-ээр нэвтрэх», мөн бусад үйлчилгээтэй тусдаа OAuth холболтууд.

Гол нэр томъёо

Нэр томъёоУтга
Provider / authorization serverХэрэглэгч нэвтэрч, хандалт олгодог үйлчилгээ — Google, Microsoft, GitHub.
ClientҮйлчилгээ олгогчид бүртгэгдсэн таны апп.
Client IDТаны аппын үйлчилгээ олгогчтой олон нийтэд харагдах танигч.
Client secretТаны аппын үйлчилгээ олгогчтой хийсэн хувийн нууц үг. Зөвхөн серверт.
ScopeТодорхой зөвшөөрөл, жишээ нь «календарь унших» эсвэл «имэйл хаяг харах».
Consent screenХэрэглэгч хүссэн scope-уудыг харж зөвшөөрдөг хуудас.
Redirect URI / callback URLҮйлчилгээ олгогч хэрэглэгчийг буцааж илгээдэг газар. Урьдчилан бүртгэгдсэн, яг таарах ёстой.
Access tokenAPI дуудахад ашигладаг богино хугацаатай итгэмжлэл.
Refresh tokenШинэ access token авахад ашигладаг илүү урт хугацаатай итгэмжлэл. Нууц үг шиг хадгал.
ID tokenOIDC-д хэрэглэгч хэн болохыг тодорхойлсон гарын үсэгтэй токен.
PKCEТаслагдсан кодыг ашиглахаас сэргийлэх нэмэлт шалгалт («proof key»). Бүх client-д зөвлөдөг.
stateХуурамч хүсэлтээс урсгалыг хамгаалах санамсаргүй утга.

Түгээмэл буруу ойлголтууд

  • «OAuth бол нэвтрэх систем.» Энгийн OAuth хандалт олгодог; OpenID Connect таниулалтыг хариуцдаг. Зөвхөн access token-ийг хэн гэдгийг нотлох зүйл болгон ашиглах нь бодит аюулгүй байдлын алдаа гаргасан.
  • «Апп миний нууц үгийг авдаг.» Хэзээ ч авдаггүй. Энэ нь цэг.
  • «Илүү scope хүсэх нь хор хөнөөлгүй.» Хэрэглэгчид өргөн хүсэлтээс болгоомжилдог, мөн Google зэрэг үйлчилгээ олгогчид мэдрэмтгий эсвэл хязгаарлагдмал scope-д аппын шалгалт шаардаж болно. Зөвхөн хэрэгтэйгээ хүс.
  • «Client secret-ийг frontend-д байрлуулж болно.» Хөтчийн кодонд байгаа бүх зүйл олонд нээлттэй. Серверийн нууцуудад хадгал.
  • «Туршилтад ажилласан бол production дээр ч ажиллана.» Үйлчилгээ олгогчид баталгаажаагүй аппуудыг хязгаарладаг, жишээ нь жагсаасан туршигч хэрэглэгчдээр. Мөн таны бодит домэйны redirect URI тусад нь бүртгэгдэх ёстой.
  • «Токен үүрд хүчинтэй.» Access token хурдан дуусдаг, хэрэглэгч хандалтыг цуцлаж болно. Таны апп хоёуланг нь зохистой зохицуулах ёстой.

AI builder-доо юу асуух вэ

  • «Google-ээр нэвтрэх нэмээрэй, OpenID Connect ашиглан, сайн хөгжүүлсэн auth сангаар — OAuth урсгалыг өөрөө бичихгүй.»
  • «Authorization code flow-г PKCE-тэй ашиглаж, state параметрийг шалгаарай.»
  • «Client ID болон client secret-ийг серверийн орчны хувьсагчаас уншаарай.»
  • «Зөвхөн хэрэгтэй scope-уудыг хүсэж байгаарай: зөвхөн календарийг унших.»
  • «Провайдерын консолд бүртгэх шаардлагатай бүх redirect URL-ийг хэлээрэй: preview, нийтлэгдсэн URL болон custom domain-д.»
  • «Refresh token-ийг өгөгдлийн санд шифрлэн хадгалж, хугацаа дууссан эсвэл цуцлагдсан токеныг хэрэглэгчээс дахин холбохыг гуйгаарай.»
  • «Хэрэглэгч тохиргооны хуудаснаасаа холболтыг салгах боломжтой байлгаарай.»

OAuth Mythex дээр

Mythex нь таны бүтээсэн аппуудад хэрэглэгчийн нэвтрэлтийг бэлэн байдлаар өгдөггүй; баримт бичгүүд нь «өөрийнхөө» аргыг тайлбарладаг — та таниулалтын сан эсвэл hosted үйлчилгээ сонгож, түлхүүрүүдээ төслийн нууцуудаар хадгалж, агент кодыг бичнэ. Нэвтрэлт нэмэх жор-д үүний эхлэх заалт байна. Mythex-ийн өөрийнх нь дотор ч OAuth-тай тулгарна: Google-ээр бүртгүүлж болно, repo синкэд GitHub холбох нь GitHub OAuth ашигладаг, мөн Mythex-д MCP-ээр холбогдох AI клиентүүд OAuth зөвшөөрлийн хуудсаар дамждаг. Дэлгэрэнгүйг нэвтрэлт гэж юу вэ болон хоёр шатлалт баталгаажуулалт гэж юу вэ-аас үзнэ үү.

Асуултууд

OAuth гэж юу вэ, энгийн хэлээр?

OAuth бол хэрэглэгч нэг апп-д нөгөө үйлчилгээний дансандаа хандах эрхийг нууц үгээ өгөлгүйгээр олгох стандарт арга юм — жишээ нь товлолын апп-д Google календараа унших эрх өгөх. Хэрэглэгч тодорхой эрхүүдийг зөвшөөрч, апп зөвхөн тэдгээрт зориулсан токен хүлээн авна.

OAuth нь "Google-ээр нэвтрэх"-тэй адил үү?

"Google-ээр нэвтрэх" нь OAuth 2.0 болон OpenID Connect дээр суурилдаг. OpenID Connect бол OAuth-ийн дээр нэмэгдсэн давхарга бөгөөд аппад хэрэглэгч хэн болохыг хэлэх стандарт арга өгдөг. OAuth-ийн гол зорилго нь хандалт олгох; OpenID Connect нь үүнийг нэвтрэлт болгодог.

OAuth access token гэж юу вэ?

Access token бол аппын API-д хандах эрхээ нотлоход илгээдэг итгэмжлэл юм. Ихэвчлэн богино хугацаатай бөгөөд хэрэглэгчийн зөвшөөрсөн эрхүүдээр (scope) хязгаарлагдана. Refresh token байвал апп хэрэглэгчээс дахин асуулгүйгээр шинэ access token авч чадна.

redirect_uri_mismatch гэж юу гэсэн үг вэ?

Энэ нь нэвтрэлтийн үед аппын илгээсэн callback URL нь үйлчилгээ олгогчийн developer консолд бүртгэгдсэн URL-тай яг таараагүйг илтгэнэ. Аппаа ажиллаж байгаа хаяг бүрийн яг URL-ыг — https, домэйн, зам, төгсгөлийн слэш хүртэл — нэм.

OAuth аюулгүй юу?

Зөв хэрэгжүүлбэл OAuth 2.0 өргөн хэрэглэгддэг бөгөөд аюулгүй: PKCE-тэй authorization code flow, яг таарах redirect URL, state параметр, мөн client secret болон токенуудыг серверт байлгах. Асуудлын ихэнх нь хэрэгжүүлэлтийн товчлолоос гардаг тул найдвартай, сайн дэмжигдсэн сан ашиглахыг зөвлөдөг.

Mythex · Pricing · AI-аар юуг ч бүтээ · Вэбсайт болон аппын загварууд · Mythex-ийн харьцуулалт · AI-аар апп бүтээх тайлбар толь · AI-аар апп бүтээх үнэгүй хэрэгслүүд · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)