diff --git a/cmd/example-app/main.go b/cmd/example-app/main.go index ccf9c4ca1e518e599b06ae18c2b18e6b9dd3c80f..a21b2e864fea9d63e66cd6bed69920df06781e24 100644 --- a/cmd/example-app/main.go +++ b/cmd/example-app/main.go @@ -314,7 +314,7 @@ func (a *app) handleCallback(w http.ResponseWriter, r *http.Request) { idToken, err := a.verifier.Verify(r.Context(), rawIDToken) if err != nil { - http.Error(w, fmt.Sprintf("Failed to verify ID token: %v", err), http.StatusInternalServerError) + http.Error(w, fmt.Sprintf("failed to verify ID token: %v", err), http.StatusInternalServerError) return } @@ -325,10 +325,16 @@ func (a *app) handleCallback(w http.ResponseWriter, r *http.Request) { } var claims json.RawMessage - idToken.Claims(&claims) + if err := idToken.Claims(&claims); err != nil { + http.Error(w, fmt.Sprintf("error decoding ID token claims: %v", err), http.StatusInternalServerError) + return + } buff := new(bytes.Buffer) - json.Indent(buff, []byte(claims), "", " ") + if err := json.Indent(buff, []byte(claims), "", " "); err != nil { + http.Error(w, fmt.Sprintf("error indenting ID token claims: %v", err), http.StatusInternalServerError) + return + } - renderToken(w, a.redirectURI, rawIDToken, accessToken, token.RefreshToken, buff.Bytes()) + renderToken(w, a.redirectURI, rawIDToken, accessToken, token.RefreshToken, buff.String()) } diff --git a/cmd/example-app/templates.go b/cmd/example-app/templates.go index 09b4150a73ae452b6b4f805b60e1b11bbcd4269c..497eb8a76da903f22e385c7c047231ad2b90c8e0 100644 --- a/cmd/example-app/templates.go +++ b/cmd/example-app/templates.go @@ -66,13 +66,13 @@ pre { </html> `)) -func renderToken(w http.ResponseWriter, redirectURL, idToken, accessToken, refreshToken string, claims []byte) { +func renderToken(w http.ResponseWriter, redirectURL, idToken, accessToken, refreshToken, claims string) { renderTemplate(w, tokenTmpl, tokenTmplData{ IDToken: idToken, AccessToken: accessToken, RefreshToken: refreshToken, RedirectURL: redirectURL, - Claims: string(claims), + Claims: claims, }) }