Sobes.tech
Junior — Middle

Koje mehanizme autentifikacije i autorizacije ste koristili u vašim projektima?

sobes.tech АИ

Одговор од АИ

У пројектима у Go-у често се користе следећи механизми аутентификације и ауторизације:

  • JWT (JSON Web Tokens) — за безстатусну аутентификацију, где сервер издаје токен након успешне пријаве, а клијент га шаље у заглављима захтева.
  • Basic Auth — једноставан начин преноса корисничког имена и лозинке у заглављу, обично за унутрашње сервисе.
  • OAuth 2.0 — за интеграцију са спољним провајдерима (Google, Facebook), посебно у веб апликацијама.
  • Middleware за проверу права приступа — у Go-у се често реализује преко middleware-а који проверава присуство и валидност токена, као и права корисника.

Пример једноставног middleware-а за проверу JWT у Go-у:

func AuthMiddleware(next http.Handler) http.Handler {
    return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
        tokenString := r.Header.Get("Authorization")
        if tokenString == "" {
            http.Error(w, "Unauthorized", http.StatusUnauthorized)
            return
        }
        // Овде додајте логику провере токена
        // Ако је токен валидан:
        next.ServeHTTP(w, r)
    })
}