Sobes.tech
Junior — Middle

Ի՞նչ մեխանիզմներ են կիրառվել ձեր նախագծերում հաստատման և թույլտվության համար։

sobes.tech AI

Պատասխան AI-ից

Go նախագծերում հաճախ օգտագործվում են հետևյալ հաստատման և թույլտվության մեխանիզմները՝

  • JWT (JSON Web Tokens) — վիճակի բացարձակ հաստատման համար, որտեղ սերվերը հաջող մուտք գործելուց հետո թողարկում է տոքեն, և հաճախորդը այն ուղարկում է հարցման գլխում:
  • Basic Auth — պարզ միջոց, որը փոխանցում է մուտքանունը և գաղտնաբառը գլխում, սովորաբար ներքին ծառայությունների համար:
  • OAuth 2.0 — արտաքին պրովայդերների (Google, Facebook) հետ ինտեգրման համար, հատկապես վեբ հավելվածներում:
  • Միջնորդային ծրագրեր՝ մուտքի իրավունքների ստուգման համար — Go-ում դա հաճախ իրականացնում է middleware-ը, որը ստուգում է տոքենի առկայությունն ու վավերությունը, ինչպես նաև օգտվողի իրավունքները:

Նմուշ՝ պարզ middleware՝ JWT ստուգման համար Go-ում:

func AuthMiddleware(next http.Handler) http.Handler {
    return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
        tokenString := r.Header.Get("Authorization")
        if tokenString == "" {
            http.Error(w, "Unauthorized", http.StatusUnauthorized)
            return
        }
        // Այստեղ ավելացրեք տոքենի ստուգման լոգիկան
        // Եթե տոքենն վավեր է՝
        next.ServeHTTP(w, r)
    })
}