Sobes.tech
Junior — Middle

Milyen módszereket használt vagy ismer a felhasználói bejelentkezési folyamat megvalósításához?

sobes.tech MI

Válasz az MI-től

A felhasználó bejelentkezésének megvalósításához Go-ban általában a következő módszereket használják:

  • Bejelentkezés és jelszó hitelesítés, jelszó hash-ek tárolásával (pl. bcrypt).
  • JWT (JSON Web Tokens) használata a sikeres bejelentkezés utáni munkamenet token létrehozásához.
  • OAuth2 külső szolgáltatásokon keresztüli engedélyezéshez (Google, Facebook stb.).
  • Webalkalmazásokhoz cookie-alapú munkamenetek.

Egyszerű bejelentkezés példája jelszó ellenőrzéssel:

import (
    "golang.org/x/crypto/bcrypt"
    "net/http"
)

func loginHandler(w http.ResponseWriter, r *http.Request) {
    username := r.FormValue("username")
    password := r.FormValue("password")

    // Jelszó hash lekérése az adatbázisból a felhasználónév alapján
    hashedPassword := getHashedPasswordFromDB(username)

    err := bcrypt.CompareHashAndPassword([]byte(hashedPassword), []byte(password))
    if err != nil {
        http.Error(w, "Érvénytelen hitelesítő adatok", http.StatusUnauthorized)
        return
    }

    // Munkamenet vagy JWT létrehozása és küldése a kliensnek
}

A folyamat magában foglalja a jelszó ellenőrzését, a token vagy munkamenet létrehozását és a felhasználó állapotának kezelését.