Sobes.tech
Junior — Middle

Sisteme kullanıcı giriş sürecini uygulamak için hangi yöntemleri kullandınız veya biliyorsunuz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Go'da bir kullanıcının girişini gerçekleştirmek için genellikle aşağıdaki yöntemler kullanılır:

  • Kullanıcı adı ve şifre ile kimlik doğrulama ve şifre hash'lerinin saklanması (örneğin, bcrypt).
  • Başarılı giriş sonrası oturum tokeni oluşturmak için JWT (JSON Web Tokens) kullanımı.
  • Üçüncü taraf servisler aracılığıyla yetkilendirme için OAuth2 (Google, Facebook vb.).
  • Web uygulamaları için cookie tabanlı oturumlar.

Basit bir giriş örneği ve şifre kontrolü:

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

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

    // Kullanıcı adını kullanarak veritabanından şifre hash'ini al
    hashedPassword := getHashedPasswordFromDB(username)

    err := bcrypt.CompareHashAndPassword([]byte(hashedPassword), []byte(password))
    if err != nil {
        http.Error(w, "Geçersiz kimlik bilgileri", http.StatusUnauthorized)
        return
    }

    // Oturum veya JWT oluştur ve istemciye gönder
}

Bu süreç, şifre doğrulama, token veya oturum oluşturma ve kullanıcının durumunu yönetmeyi içerir.