Junior — Middle
Колдонуучунун системага кирүү процесси үчүн кандай ыкмаларды колдондуңуз же билесиз?
sobes.tech AI
AIден жооп
Go'da bir istifadəçinin sistemə girişini həyata keçirmək üçün 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ə hash'ini alma
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.