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)
})
}