code: def authorize_redirect(
          self,
          redirect_uri: str = None,
          client_id: str = None,
          client_secret: str = None,
          extra_params: Dict[str, Any] = None,
          scope: str = None,
          response_type: str = "code",
      ) -> None:
          
          handler = cast(RequestHandler, self)
          args = {"response_type": response_type}
          if redirect_uri is not None:
              args["redirect_uri"] = redirect_uri
          if client_id is not None:
              args["client_id"] = client_id
          if extra_params:
              args.update(extra_params)
          if scope:
              args["scope"] = " ".join(scope)
          url = self._OAUTH_AUTHORIZE_URL  # type: ignore
          handler.redirect(url_concat(url, args))
docs: Redirects the user to obtain OAuth authorization for this service.
  
          Some providers require that you register a redirect URL with
          your application instead of passing one via this method. You
          should call this method to log the user in, and then call
          ``get_authenticated_user`` in the handler for your
          redirect URL to complete the authorization process.
  
          .. versionchanged:: 6.0
  
             The ``callback`` argument and returned awaitable were removed;
             this is now an ordinary synchronous function.