MCPcopy
hub / github.com/ory/hydra / NewAuthorizeResponse

Method NewAuthorizeResponse

fosite/authorize_response_writer.go:17–45  ·  view source on GitHub ↗
(ctx context.Context, ar AuthorizeRequester, session Session)

Source from the content-addressed store, hash-verified

15)
16
17func (f *Fosite) NewAuthorizeResponse(ctx context.Context, ar AuthorizeRequester, session Session) (_ AuthorizeResponder, err error) {
18 ctx, span := trace.SpanFromContext(ctx).TracerProvider().Tracer("github.com/ory/hydra/v2/fosite").Start(ctx, "Fosite.NewAuthorizeResponse")
19 defer otelx.End(span, &err)
20
21 var resp = &AuthorizeResponse{
22 Header: http.Header{},
23 Parameters: url.Values{},
24 }
25
26 ctx = context.WithValue(ctx, AuthorizeRequestContextKey, ar)
27 ctx = context.WithValue(ctx, AuthorizeResponseContextKey, resp)
28
29 ar.SetSession(session)
30 for _, h := range f.Config.GetAuthorizeEndpointHandlers(ctx) {
31 if err := h.HandleAuthorizeEndpointRequest(ctx, ar, resp); err != nil {
32 return nil, err
33 }
34 }
35
36 if !ar.DidHandleAllResponseTypes() {
37 return nil, errorsx.WithStack(ErrUnsupportedResponseType)
38 }
39
40 if ar.GetDefaultResponseMode() == ResponseModeFragment && ar.GetResponseMode() == ResponseModeQuery {
41 return nil, ErrUnsupportedResponseMode.WithHintf("Insecure response_mode '%s' for the response_type '%s'.", ar.GetResponseMode(), ar.GetResponseTypes())
42 }
43
44 return resp, nil
45}

Callers 1

TestNewAuthorizeResponseFunction · 0.95

Calls 9

WithHintfMethod · 0.80
TracerMethod · 0.65
SetSessionMethod · 0.65
GetResponseModeMethod · 0.65
GetResponseTypesMethod · 0.65

Tested by 1

TestNewAuthorizeResponseFunction · 0.76