MCPcopy
hub / github.com/zitadel/oidc / codeExchangeHandler

Method codeExchangeHandler

pkg/op/server_http.go:301–321  ·  view source on GitHub ↗
(w http.ResponseWriter, r *http.Request, client Client)

Source from the content-addressed store, hash-verified

299}
300
301func (s *webServer) codeExchangeHandler(w http.ResponseWriter, r *http.Request, client Client) {
302 request, err := decodeRequest[oidc.AccessTokenRequest](s.decoder, r, false)
303 if err != nil {
304 WriteError(w, r, err, s.getLogger(r.Context()))
305 return
306 }
307 if request.Code == "" {
308 WriteError(w, r, oidc.ErrInvalidRequest().WithDescription("code missing"), s.getLogger(r.Context()))
309 return
310 }
311 if request.RedirectURI == "" {
312 WriteError(w, r, oidc.ErrInvalidRequest().WithDescription("redirect_uri missing"), s.getLogger(r.Context()))
313 return
314 }
315 resp, err := s.server.CodeExchange(r.Context(), newClientRequest(r, request, client))
316 if err != nil {
317 WriteError(w, r, err, s.getLogger(r.Context()))
318 return
319 }
320 resp.writeOut(w)
321}
322
323func (s *webServer) refreshTokenHandler(w http.ResponseWriter, r *http.Request, client Client) {
324 request, err := decodeRequest[oidc.RefreshTokenRequest](s.decoder, r, false)

Callers

nothing calls this directly

Calls 7

getLoggerMethod · 0.95
decodeRequestFunction · 0.85
WriteErrorFunction · 0.85
newClientRequestFunction · 0.85
WithDescriptionMethod · 0.80
CodeExchangeMethod · 0.65
writeOutMethod · 0.45

Tested by

no test coverage detected