Sobes.tech
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.