From 2122cfe75bb89f0c0713859009ba81d784924d99 Mon Sep 17 00:00:00 2001 From: mo khan Date: Sun, 11 May 2025 15:42:52 -0600 Subject: feat: add endpoint to reflect JWT body --- app/controllers/sessions/controller.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'app/controllers/sessions/controller.go') diff --git a/app/controllers/sessions/controller.go b/app/controllers/sessions/controller.go index e8409a3..bf7d813 100644 --- a/app/controllers/sessions/controller.go +++ b/app/controllers/sessions/controller.go @@ -24,6 +24,7 @@ func New(cfg *oidc.OpenID, http *http.Client) *Controller { func (c *Controller) MountTo(mux *http.ServeMux) { mux.HandleFunc("GET /session/new", c.New) + mux.HandleFunc("GET /session", c.Show) mux.HandleFunc("GET /session/callback", c.Create) mux.HandleFunc("POST /session/destroy", c.Destroy) } @@ -39,6 +40,25 @@ func (c *Controller) New(w http.ResponseWriter, r *http.Request) { c.redirectTo(w, r, url) } +func (c *Controller) Show(w http.ResponseWriter, r *http.Request) { + cookie, err := r.Cookie(cfg.IDTokenCookie) + if err != nil { + pls.LogError(r.Context(), err) + w.WriteHeader(http.StatusNotFound) + return + } + + token, err := c.svc.JWTBody(r.Context(), oidc.RawToken(cookie.Value)) + if err != nil { + pls.LogError(r.Context(), err) + w.WriteHeader(http.StatusNotFound) + return + } + + w.WriteHeader(http.StatusOK) + w.Write(token) +} + /* This is the callback endpoint from the OIDC Provider: -- cgit v1.2.3