Апп-даа нэвтрэлт хэрхэн нэмэх: нууц үг, тэмдэглэлийн линк, Google, эрх
Аппд нэвтрэлт нэмэхийн тулд арга сонгоорой — имэйл ба нууц үг, magic link (имэйлээр явуулдаг нэг удаагийн нэвтрэх линк), эсвэл «Google-ээр нэвтрэх» — мөн үүнийг эхнээс нь бичихийн оронд найдвартай auth сан эсвэл хостинглогдсон нийлүүлэгчээр хэрэгжүүл. Дараа нь хэрэглэгч бүрийн юу хийж болохыг (эрх) шийдэж, үүнийг хуудас болон API хүсэлт бүрт серверт хэрэгжүүл. Сессүүд аюулгүй cookie ашигладаг, хугацаа дуусдаг, гарахад зөв дуусдаг байх ёстой.
Энэ гарын авлага сонголт бүрийг болон ажилладаг нэвтрэлтийг аюулгүй нэвтрэлтээс ялгах нарийн зүйлсийг тайлбарлана. Үүний үндсэн ойлголтын талаар баталгаажуулалт гэж юу вэ-г үзнэ үү.
Эхлээд шийд: танд нэвтрэлт огт хэрэгтэй юу?
Нэвтрэлт нь үрэлт, хариуцлагыг нэмдэг. Танд дараах үед хэрэгтэй:
- Хэрэглэгчдэд хувийн өгөгдөл байдаг (захиалга, баримт, нэхэмжлэх)
- Хэрэглэгчид бусдад харагдах зүйлийг өөрчилж чаддаг
- Хандалтад мөнгө авдаг
- Өөр өөр хүмүүст өөр эрх хэрэгтэй (эзэн, ажилтан, харилцагч)
Маркетингийн сайт, нийтийн лавлах, эсвэл зөвхөн имэйл илгээдэг маягтад танд хэрэггүй байж магадгүй. Хүлээлтийн жагсаалтад данс хэрэггүй; имэйлийн талбар хангалттай.
Түгээмэл дөрвөн нэвтрэлтийн арга
| Арга | Хэрхэн ажилладаг | Давуу тал | Сул тал |
|---|---|---|---|
| Имэйл + нууц үг | Хэрэглэгч нууц үг үүсгэж, та түүний hash-ийг хадгална | Танил, имэйлгүйгээр ажиллана | Нууц үг сэргээх, давтан ашиглах, задрах эрсдэл; нууц үгээ аюулгүй хадгалах ёстой |
| Magic link | Хэрэглэгч имэйлээ оруулаад, таны явуулсан линк дээр дарна | Хадгалах, мартах нууц үг байхгүй | Имэйл хүргэлтээс хамаарна; нэвтрэхэд удаан |
| Нэг удаагийн код | Хэрэглэгч имэйлээ оруулаад, 6 оронтой код бичнэ | Линк буруу хөтөчид нээгдэх үед ажиллана | Мөн адил имэйлээс хамаарна |
| Нийгмийн / OAuth (Google, Apple, GitHub, Microsoft) | Өөр нийлүүлэгч хэрэглэгчийг баталгаажуулна | Хэрэглэгчдэд хамгийн хурдан; та нууц үг хадгалахгүй | Хэрэглэгчид тэр данстай байх ёстой; нийлүүлэгч дээр тохиргоо |
Олон апп хоёрыг хосолдог: Google-ээр нэвтрэлт ба имэйлийн magic link нь нууц үг хадгалалгүйгээр ихэнх хүнд хүрдэг алдартай хослол.
Имэйл ба нууц үг
Хэрэв та нууц үг санал болгож байгаа бол эдгээр нь заавал байх зүйлс:
- Нууц үгийг удаан нууц үгийн hash-алгоритмаар hash хий. OWASP-ийн нууц үг хадгалах заавар Argon2id-г санал болгодог, scrypt, bcrypt эсвэл PBKDF2 нь өөр сонголт. Нууц үгийг хэзээ ч энгийн текстээр эсвэл хурдан ерөнхий hash-аар хадгалж болохгүй.
- Нууц үг сэргээх нь баталгаажсан имэйл рүү явуулсан, санамсаргүй, нэг удаа ашиглагддаг, хугацаа дуусдаг линк ашигладаг.
- Аль имэйлд данс байгааг бүү ил гарга. «Хэрэв энэ имэйл бүртгэлтэй бол сэргээх линк явуулсан» гэх нь «Данс олдсонгүй» гэснээс дээр.
- Нэвтрэх ба сэргээх оролдлогыг хязгаарла нууц үг таах оролдлогыг удаашруулахын тулд.
- Урт нууц үг болон нууц үгийн менежерийг зөвшөөр; тэмдэгтийн хачин холимог шаарддаг дүрмийг хасаарай.
Magic link ба нэг удаагийн код
Magic link бол хэрэглэгчид имэйлээр явуулсан нэвтрэх линк. Дарахад тэр нэвтэрнэ. Нэг удаагийн код нь ижил санаа, харин дарахын оронд бичдэг.
- Линк ба код хурдан хугацаа дуусч, нэг удаа л ажилладаг.
- Линк нь дарсан төхөөрөмж дээр хэрэглэгчийг нэвтрүүлэх ёстой, мөн токен лог эсвэл аналитикийн хэрэгсэлд үлдэж болохгүй.
- Найдвартай имэйл илгээх хэрэгтэй — аппаасаа имэйл илгээх-г үзнэ үү. Gmail болон Outlook-оор туршаарай, спам хавтсыг шалгаарай.
Google-ээр нэвтрэх (болон бусад OAuth нийлүүлэгчид)
«Google-ээр нэвтрэх» нь OAuth болон OpenID Connect ашигладаг: Google хэрэглэгчийг баталгаажуулж, түүний имэйл, нэрийг аппд хэлдэг. 2026 оны 9-р сарын байдлаар тохиргоо нь Google Cloud Console-ийн Google Auth Platform хэсэгт явагддаг:
- Төсөл үүсгэх эсвэл сонгож, Branding хуудсыг бөглө — зөвшөөрлийн дэлгэц дээр хэрэглэгчдэд харагдах зүйл (аппын нэр, дэмжлэгийн имэйл, лого).
- Clients хуудсан дээр «Web application» төрлийн client үүсгэ.
- Зөвшөөрөгдсөн JavaScript origin-ууд болон redirect URI-уудыг нэм — таны апп ажилладаг яг хаяг болон нэвтэрсний дараа Google хэрэглэгчийг буцааж явуулдаг хаяг.
- Client ID болон client secret-ийг аппынхаа нууц утгад хадгал.
Google-ийн OAuth баримт бичгээр түгээмэл алдаанууд:
redirect_uri_mismatch: redirect хаяг яг таарах ёстой, үүндhttpбаhttps, том жижиг үсэг, төгсгөлийн слэш багтана. Урьдчилан харах хаяг болон амьд домэйнд тус тусад нь нэм.- HTTPS шаардлагатай: redirect URI нь HTTPS ашиглах ёстой, харин хөгжүүлэлтийн үед
localhostүл хамаарна. stateпараметрийг буцаж ирэхэд шалгах ёстой, сайт хоорондын хуурамч хүсэлтээс хамгаалахын тулд. Сайн сангууд үүнийг өөрсдөө хийдэг.
Зөвхөн үндсэн нэвтрэх мэдээлэл (нэр, имэйл, профайл) асуувал Google аппын баталгаажуулалт заавал биш гэж заадаг. Хэрэглэгчдийн Gmail, Drive, Calendar-д хандах хүсэлт өөр бөгөөд баталгаажуулалт шаарддаг.
Өөрөө бүтээх уу, нийлүүлэгч ашиглах уу?
| Арга | Жишээ | Хэзээ тохирох вэ |
|---|---|---|
| Хостинглогдсон auth нийлүүлэгч | Таны төлөө нэвтрэлт, хэрэглэгчийн удирдлага, сессийг хостинглодог үйлчилгээнүүд | Цаг хугацаа багатай, аюулгүй байдлын хариуцлага багатай, нэвтрэлт хурдан ажиллах хэрэгтэй үед |
| Аппдаа auth сан | Таны фреймворкийн нээлттэй эхийн сангууд | Хэрэглэгчдээ өөрийн өгөгдлийн санд байлгах, хэрэглэгч бүрт төлбөргүй байхыг хүсвэл |
| Өөрөө бичих | — | Бараг хэзээ ч. Анхаарах нарийн зүйл хэт олон |
Эхний хоёр бүр зохистой. Хостинглогдсон нийлүүлэгч илүү их зүйлийг таны оронд хийдэг ч хамаарал нэмдэг, заримдаа идэвхтэй хэрэглэгч бүрт төлбөртэй байдаг; үнийг тэдний сайтаас шалга. Сангууд бүгдийг өөрийн өгөгдлийн санд байлгадаг ч таны тохируулах зүйл илүү байдаг. Аль нь ч сонгосон, нууц үг эсвэл сессийн логикийг гараар бичихийн оронд AI-д түүнийг ашиглуулаарай.
Эрх ба зөвшөөрөл
Нэвтрэлт нь хэн гэдгийг хэлдэг. Эрх нь тэд юу хийж болохыг шийддэг. Эхлээд энгийн байлга:
| Үүрэг | Ердийн эрх |
|---|---|
| Зочин | Нийтийн хуудас харах |
| Гишүүн / харилцагч | Өөрийн бичлэгийг харах, засах |
| Ажилтан | Багийн эсвэл бизнесийн бүх бичлэгийг харах; тохиргоо эсвэл төлбөрийг өөрчилж болохгүй |
| Эзэн / админ | Бүх зүйл, хэрэглэгчид болон төлбөрийг оруулаад |
Үүрэгийн нэрнээс илүү чухал дүрмүүд:
- Серверт, үргэлж шалга. Хуудаснаас товчийг нуух нь хэн ч API-г шууд дуудахаас сэргийлдэггүй.
- Эзнээр хязгаарла. «Захиалга 123»-ыг татах гишүүн түүнийх бол л үүнийг авах ёстой.
- Хэрэглэгч өөрийгөө дээшлүүлж болохгүй. Профайл шинэчлэхэд хөтчөөс ирсэн үүргийн талбаруудыг үл тоо.
- Анхдагчаар хандалтгүй байлга. Шинэ маршрут та өөрөөр шийдээгүй бол нэвтрэлт шаардах ёстой.
Хоёр дансаар туршаарай: нэгээр нэвтэрч, бичлэгийн ID-г тэмдэглээд, нөгөөгөөр нэвтэрч нээж үз. Бүрэн туршилтыг аюулгүй байдлын шалгах жагсаалт-д өгсөн.
Сессийн аюулгүй байдал
Нэвтэрсний дараа апп хэрэглэгчийг сессээр санадаг — ихэвчлэн cookie. OWASP-ийн сессийн удирдлагын заавар дараахыг санал болгодог:
- Сессийн cookie-г
Secure(зөвхөн HTTPS),HttpOnly(хуудасны скриптүүд уншиж чадахгүй), мөнSameSite-тай тохируулсан - Нэвтэрсэн үед шинэ сессийн ID олгож, эрх өөрчлөгдөхөд дахин олгодог
- Идэвхгүй байх хугацааны хязгаар болон бүтэн наслах дээд хугацаа, серверт хэрэгжүүлсэн
- Гарах нь cookie-г устгахаас гадна серверт сессийг дуусгадаг
- Хэрэглэгч нууц үгээ солиход сессүүд хүчингүй болдог
Нэвтрэх токеныг хөтчийн local storage-д хадгалах нь заавар дээр түгээмэл боловч хуудсан дээр ажилладаг аливаа скриптэд ил гардаг; вэб аппд аюулгүй cookie ихэвчлэн илүү сайн анхдагч.
Гол зүйлсийг хамарсан prompt
Энэ аппд хэрэглэгчийн данс нэм. Хэрэглэгчид имэйл ба нууц үгээр эсвэл Google-ээр бүртгүүлж, нэвтэрч чадна. Custom auth код биш, [сан эсвэл нийлүүлэгч]-ийг ашигла. Нууц үгийг Argon2id эсвэл bcrypt-ээр hash хий. Имэйлээр нууц үг сэргээх нэм, нэг хугацаатай, нэг удаа ашиглагддаг линктэй, нэг цагийн дараа дуусдаг байг. Сессүүдийг аюулгүй, HttpOnly cookie-д хадгал. /dashboard болон /api-ийн бүх маршрутыг зөвхөн нэвтэрсэн хэрэглэгч ашиглаж чадахаар хамгаал, мөн хэрэглэгч зөвхөн өөрийн төслүүдийг харах боломжтой байг. Бүх хэрэглэгчийг харах «admin» үүрэг нэм; зөвхөн админ /admin руу орох ба энэ нь серверт шалгагдана.
Дараа нь туршаарай: бүртгүүл, гара, нэвтэр, нууц үгээ сэргээ, нэвтрээгүй үед хувийн URL-ийг оролдоорой, мөн өөр хэрэглэгчийн бичлэгийг оролдоорой.
AI-аар бүтээсэн нэвтрэлтийн түгээмэл алдаанууд
- Хамгаалалт зөвхөн хуудсанд. Хуудас нэвтрээгүй хэрэглэгчийг шилжүүлдэг ч API нь хэнд ч өгөгдөл буцаадаг.
- Нууц утга хөтөчид. OAuth client secret болон auth нийлүүлэгчийн админ түлхүүр серверт байх ёстой.
- Урьдчилан харах ба амьд URL-ийг андуурах. Google-ийн redirect URI эсвэл нууц үг сэргээх имэйлийн линк урьдчилан харах руу заадаг тул нийтэлсний дараа нэвтрэлт эвдэрдэг.
- Имэйлийн баталгаажуулалт байхгүй. Хэн ч anyone@company.com-оор бүртгүүлж чадна. Тэр хаягтай холбоотой ямар ч зүйл олгохоосоо өмнө имэйлээ баталгаажуулаарай.
- Зөвхөн зөв замыг турших. Буруу нууц үг, хугацаа дууссан линк, хоёр дахь дансыг оролдож үз.
Mythex дээр нэвтрэлт нэмэх
Mythex дээр таны аппын хэрэглэгчдийн нэвтрэлт нь аппдаа нэмдэг зүйл — таны Mythex дансаас тусдаа. Mythex нь суурилуулсан auth бүтээгдэхүүн санал болгодоггүй тул auth сан эсвэл нийлүүлэгч ба түүний түлхүүрүүдийг өөрөө авчирна:
- Арга сонго — жишээ нь өөрийн өгөгдлийн санд хадгалсан имэйл ба нууц үг, эсвэл хостинглогдсон нийлүүлэгчийн SDK.
- Хэрэглэгчдээ өөрөө хадгалбал аппд өгөгдлийн сан хэрэгтэй; чатад хүсэх эсвэл
/databaseашигла. - Нийлүүлэгчийн түлхүүрүүдийг төслийн нууц утгад хий (
/secretsэсвэл төслийн тохиргоо). - Дээрх шиг prompt ашиглаад Preview дээр туршаарай. Google-ээр нэвтрэхийн тулд урьдчилан харах болон нийтэлсэн хаяг хоёуланд нь redirect URI нэм.
Docs-ийн аппдаа нэвтрэлт нэмэх-г үзнэ үү. Хэрэв төлбөртэй бүтээгдэхүүн бүтээж байгаа бол SaaS MVP хэрхэн бүтээх гарын авлага данс болон төлбөрийг хамт тайлбарлана.
Асуултууд
Аппд нэмэхэд хамгийн амархан нэвтрэлт аль нь вэ?
Хостинглогдсон баталгаажуулалтын нийлүүлэгч эсвэл сайн хадгалагдсан auth сан ашиглах нь ихэвчлэн хамгийн амар, аюулгүй, учир нь сесс, нууц үгийн хадгалалт, сэргээлтийг аль хэдийн шийдсэн байдаг. Google-ээр нэвтрэх нь Google бүртгэлтэй хэрэглэгчдэд хамгийн хялбар сонголт.
Magic link нууц үгнээс илүү найдвартай юу?
Тэд нууц үгийн давтан ашиглалт, сул нууц үгийг арилгадаг боловч эрсдлийг хэрэглэгчийн имэйлийн бүртгэл рүү шилжүүлдэг. Линкүүд хурдан хугацаа дуусч, нэг удаа л ажилладаг байх ёстой. Ихэнх жижиг аппд тохиромжтой сонголт, ихэвчлэн Google-ээр нэвтрэлттэй хамт санал болгодог.
Google-ээр нэвтрэх нэмэхэд Google-ийн зөвшөөрөл хэрэгтэй юу?
Зөвхөн үндсэн нэвтрэх мэдээлэл (нэр, имэйл, профайл) хүсвэл Google баталгаажуулалт заавал биш гэж заадаг, гэхдээ зөвшөөрлийн дэлгэц болон OAuth client-ийг тохируулах хэрэгтэй. Gmail эсвэл Drive зэрэг мэдрэмтгий өгөгдөлд хандах хүсэлт Google-ийн аппын баталгаажуулалтыг шаарддаг.
Нэвтрэлт ба эрх хоёрын ялгаа юу вэ?
Нэвтрэлт (authentication) нь хэрэглэгч хэн болохыг баталгаажуулдаг. Эрх (authorization) нь тухайн хэрэглэгч юуг харах, хийхийг шийддэг. Апп хоёуланг нь хэрэгтэй бөгөөд эрхийг хүсэлт бүрт серверт шалгах ёстой.