Sobes.tech
Senior

Mal ste Keycloak na autorizáciu alebo vlastné riešenie?

sobes.tech AI

Odpoveď od AI

Pre autorizácie sa často používajú hotové riešenia, ako je Keycloak, najmä ak je potrebná podpora štandardov OAuth2, OpenID Connect a centralizované riadenie používateľov. Keycloak umožňuje rýchlo zaviesť autentifikáciu a autorizáciu s minimálnymi nákladmi.

Ak boli požiadavky špecifické alebo infraštruktúra neumožňovala využívanie externých služieb, mohlo sa vyvinúť vlastné riešenie. V takom prípade sa zvyčajne stavia služba autorizácie s JWT tokenmi, správou relácií a rolami.

Príklad použitia Keycloak s Go aplikáciou — overenie JWT tokenu:

import (
    "github.com/coreos/go-oidc"
    "golang.org/x/net/context"
    "net/http"
)

func authMiddleware(next http.Handler) http.Handler {
    return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
        token := r.Header.Get("Authorization")
        // Validácia tokenu cez Keycloak
        // ...
        next.ServeHTTP(w, r)
    })
}

Výber závisí od požiadaviek projektu a infraštruktúry.