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.