def METHOD_NAME(self, **request_kwargs) -> Optional[dict[str, Any]]:
    """Fetch access token from callback request."""
    callback = self.request.build_absolute_uri(self.callback or self.request.path)
    if not self.check_application_state():
        LOGGER.warning("Application state check failed.")
        return {"error": "State check failed."}
    code = self.get_request_arg("code", None)
    if not code:
        LOGGER.warning("No code returned by the source")
        error = self.get_request_arg("error", None)
        error_desc = self.get_request_arg("error_description", None)
        return {"error": error_desc or error or _("No token received.")}
    args = {
        "client_id": self.get_client_id(),
        "client_secret": self.get_client_secret(),
        "redirect_uri": callback,
        "code": code,
        "grant_type": "authorization_code",
    }
    if SESSION_KEY_OAUTH_PKCE in self.request.session:
        args["code_verifier"] = self.request.session[SESSION_KEY_OAUTH_PKCE]
    try:
        access_token_url = self.source.type.access_token_url or ""
        if self.source.type.urls_customizable and self.source.access_token_url:
            access_token_url = self.source.access_token_url
        response = self.session.request(
            "post", access_token_url, data=args, headers=self._default_headers, **request_kwargs
        )
        response.raise_for_status()
    except RequestException as exc:
        LOGGER.warning(
            "Unable to fetch access token",
            exc=exc,
            response=exc.response.text if exc.response else str(exc),
        )
        return None
    return response.json()