package middleware import ( "net/http" "github.com/xlgmokha/x/pkg/log" "gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/pkg/oidc" ) type TokenParser func(*http.Request) oidc.RawToken func IDTokenFromSessionCookie(r *http.Request) oidc.RawToken { cookies := r.CookiesNamed("session") if len(cookies) != 1 { return "" } tokens, err := oidc.TokensFromBase64String(cookies[0].Value) if err != nil { log.WithFields(r.Context(), log.Fields{"error": err}) return "" } return tokens.IDToken }