MCPcopy
hub / github.com/authlib/authlib / create_authorization_url

Method create_authorization_url

authlib/oauth2/client.py:144–183  ·  view source on GitHub ↗

Generate an authorization URL and state. :param url: Authorization endpoint url, must be HTTPS. :param state: An optional state string for CSRF protection. If not given it will be generated for you. :param code_verifier: An optional code_verifier for co

(self, url, state=None, code_verifier=None, **kwargs)

Source from the content-addressed store, hash-verified

142 self.token_auth.set_token(token)
143
144 def create_authorization_url(self, url, state=None, code_verifier=None, **kwargs):
145 """Generate an authorization URL and state.
146
147 :param url: Authorization endpoint url, must be HTTPS.
148 :param state: An optional state string for CSRF protection. If not
149 given it will be generated for you.
150 :param code_verifier: An optional code_verifier for code challenge.
151 :param kwargs: Extra parameters to include.
152 :return: authorization_url, state
153 """
154 if state is None:
155 state = generate_token()
156
157 response_type = self.metadata.get("response_type", "code")
158 response_type = kwargs.pop("response_type", response_type)
159 if "redirect_uri" not in kwargs:
160 kwargs["redirect_uri"] = self.redirect_uri
161 if "scope" not in kwargs:
162 kwargs["scope"] = self.scope
163
164 if (
165 code_verifier
166 and response_type == "code"
167 and self.code_challenge_method == "S256"
168 ):
169 kwargs["code_challenge"] = create_s256_code_challenge(code_verifier)
170 kwargs["code_challenge_method"] = self.code_challenge_method
171
172 for k in self.EXTRA_AUTHORIZE_PARAMS:
173 if k not in kwargs and k in self.metadata:
174 kwargs[k] = self.metadata[k]
175
176 uri = prepare_grant_uri(
177 url,
178 client_id=self.client_id,
179 response_type=response_type,
180 state=state,
181 **kwargs,
182 )
183 return uri, state
184
185 def fetch_token(
186 self,

Calls 4

generate_tokenFunction · 0.90
prepare_grant_uriFunction · 0.85
getMethod · 0.45