MCPcopy
hub / github.com/authlib/authlib / create_response_mode_response

Function create_response_mode_response

authlib/oidc/core/grants/util.py:124–147  ·  view source on GitHub ↗
(redirect_uri, params, response_mode)

Source from the content-addressed store, hash-verified

122
123
124def create_response_mode_response(redirect_uri, params, response_mode):
125 if response_mode == "form_post":
126 tpl = (
127 "<html><head><title>Redirecting</title></head>"
128 '<body onload="javascript:document.forms[0].submit()">'
129 '<form method="post" action="{}">{}</form></body></html>'
130 )
131 inputs = "".join(
132 [
133 f'<input type="hidden" name="{quote_url(k)}" value="{quote_url(v)}"/>'
134 for k, v in params
135 ]
136 )
137 body = tpl.format(quote_url(redirect_uri), inputs)
138 return 200, body, [("Content-Type", "text/html; charset=utf-8")]
139
140 if response_mode == "query":
141 uri = add_params_to_uri(redirect_uri, params, fragment=False)
142 elif response_mode == "fragment":
143 uri = add_params_to_uri(redirect_uri, params, fragment=True)
144 else:
145 raise InvalidRequestError('Invalid "response_mode" value')
146
147 return 302, "", [("Location", uri)]
148
149
150def _guess_prompt_value(end_user, prompts, redirect_uri, redirect_fragment):

Callers 1

Calls 3

quote_urlFunction · 0.90
add_params_to_uriFunction · 0.90
InvalidRequestErrorClass · 0.90

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…