Junior — Middle
İstifadəçinin sistemə daxil olma prosesini həyata keçirmək üçün hansı metodlardan istifadə etdiniz və ya bilirsiniz?
sobes.tech Süni İntellekt
AI-dan cavab
İstifadəçinin sistemə girişini həyata keçirmək üçün Go-da adətən aşağıdakı metodlar istifadə olunur:
- İstifadəçi adı və şifrə ilə autentifikasiya və şifrə hashlərinin saxlanması (məsələn, bcrypt).
- Uğurlu girişdən sonra sessiya tokeni yaratmaq üçün JWT (JSON Web Tokens) istifadə etmək.
- Üçüncü tərəf xidmətləri vasitəsilə icazə üçün OAuth2 (Google, Facebook və s.).
- Veb tətbiqlər üçün cookie ilə sessiyalar.
Sadə giriş nümunəsi və şifrə yoxlaması:
import (
"golang.org/x/crypto/bcrypt"
"net/http"
)
func loginHandler(w http.ResponseWriter, r *http.Request) {
username := r.FormValue("username")
password := r.FormValue("password")
// İstifadəçi adı ilə verilənlər bazasından şifrə hashini əldə et
hashedPassword := getHashedPasswordFromDB(username)
err := bcrypt.CompareHashAndPassword([]byte(hashedPassword), []byte(password))
if err != nil {
http.Error(w, "Etibarsız giriş məlumatları", http.StatusUnauthorized)
return
}
// Sessiya və ya JWT yaradın və müştəriyə göndərin
}
Bu proses şifrə yoxlamasını, token və ya sessiya yaradılmasını və istifadəçi vəziyyətinin idarə olunmasını əhatə edir.