package middleware import ( "net/http" "gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/pkg/oidc" "gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/pkg/pls" ) 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 { pls.LogError(r.Context(), err) return "" } return tokens.IDToken }